Как исправить эту ошибку? Фатальная ошибка LNK1103: отладочная информация повреждена; модуль перекомпиляции
фатальная ошибка LNK1103: отладочная информация повреждена; модуль перекомпиляции
в чем причина этой ошибки и как ее устранить?
Что я уже пробовал:
фатальная ошибка LNK1103: отладочная информация повреждена; модуль перекомпиляции
Jochen Arndt
Какая версия VS?
Модуль построен вами или это сторонний модуль?
Был ли он построен с той же версией VS, что и ваш проект?
Ошибка должна исчезнуть при построении модуля с той же версией VS, что и проект.
Naveen_vemuri
он был написан в версии VS2008.Теперь я конвертируюсь в версию VS2017 и строю с помощью VS2017 verion.
Jochen Arndt
Итак, вы пытаетесь связать сборку версии с 2008 годом со сборкой проекта 2017 года?
Стройте все с 2017 года. Проверьте также настройки вашего проекта. Возможно, у вас все еще есть путь к старому модулю в вашем преобразованном проекте, так что создается новая версия модуля, но старая все еще используется для связи с проектом.
Naveen_vemuri
До сих пор проблема не решена.Есть ли способ узнать, какой старый модуль связывается? - я тоже пробовал многословно, но ничего не нашел.
Jochen Arndt
Сообщение об ошибке содержит имя модуля. Найдите это в подробном выводе и проверьте путь.
Если это неверно (путь к старой версии), проверьте настройки вашего проекта (настройки пути компоновщика и порядок, а также для модулей, указанных с полным путем).
Naveen_vemuri
Пути только правильные.я дам вам четкое представление о проблеме.
у меня есть проект под названием "3DCP. sln".у него есть пять проектов
1.3 DAppLib
2.3 DAppTest
3.3 DEngine
4.Инструменты
5.Win32Emu.
Каждый из них не имеет никакой зависимости от других, кроме 3DAppTest, который зависит от всех остальных четырех проектов.Я преобразовал каждый проект из vs2008 в vs2017, и они строятся нормально, за исключением 3DAppTest, который дает вышеуказанную ошибку.Ошибка возникает в проекте 3DAppTest и в файле Win32Emu.lib, который является выходным файлом для проекта win32Emu, используемого этим проектом.
Jochen Arndt
Вы можете добавить это к своему вопросу, чтобы другие тоже сразу увидели его и могли помочь (используйте зеленую ссылку "улучшить вопрос").
Учитывая вышесказанное, все, что я все еще могу предложить, - это проверить, что win32emulib является фактическим (проверка даты) и что он связан (rebuild all, build lib before project).
Если вы все еще не можете решить эту проблему, вы можете создать lib только как релиз и связать его с отладочной сборкой вашего проекта.
Вы также можете создать небольшой тестовый проект, который вызывает одну функцию из библиотеки, и посмотреть, не приведет ли это к ошибке. Если нет, то что-то не так с вашей установкой.
Зависят ли другие проекты также от этой библиотеки? Затем вы также должны проверить их (другие проекты, связанные со старой версией).
Naveen_vemuri
я видел в некоторых сообщениях, что эта ошибка находится в последней версии visual studio 15.3, а не с 15.0 и 15.2.do ты что-нибудь об этом знаешь?
Jochen Arndt
К сожалению, нет.
Naveen_vemuri
в приведенной выше ошибке говорится "перекомпилировать модуль".что это значит? и как это перекомпилировать?
"Ошибка возникает в проекте 3DAppTest и в файле Win32Emu.lib, который является выходным файлом для проекта win32Emu, используемого этим проектом."
Jochen Arndt
Это означает, что вы должны воссоздать упомянутые файлы (Ы) (Win32Emu.lib, Win32Emu.dll), выполнив перестройку для соответствующего проекта.
Naveen_vemuri
Даже если я перестраиваю проекты, ошибка все равно остается
Jochen Arndt
Вам действительно нужна отладочная сборка этой библиотеки?
Если нет, создайте этот проект только как релиз и используйте версию библиотеки релизов также с отладочными сборками других проектов. Это не решит проблему, но вы можете продолжать работать над другими проектами.