Проблемы компоновщика после переключения на VS2005 с VC6 (LNK4099)

StackOverflow https://stackoverflow.com/questions/660768

Вопрос

Я портировал один из своих старых проектов на VS2005 и получаю предупреждения компоновщика, такие как

xxxxx.lib(xxxxxxxx.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with ...; linking object as if no debug info

Теперь я попытался перестроить проект, но предупреждения никуда не делись.Действительно ли предполагается, что он ищет vc60.pdb, а не vc80.pdb?У меня действительно есть файл vc80.pdb..

Спасибо

Это было полезно?

Решение

У вас есть .obj , связанный с вашим .lib , в котором есть отладочная информация;эта отладочная информация содержит ссылку на vc60.pdb.Если .библиотека является вашей собственной, вам необходимо перекомпилировать исходный код и перестроить .файл библиотеки, чтобы обновить эту ссылку.Если .библиотека не ваша, вам придется просто проигнорировать это предупреждение и вы не сможете выполнить отладку в исходном коде этого конкретного объектного файла.

Другие советы

VS2005 обычно не должен искать vc60.pdb, особенно после полной перестройки.

Может быть, у вас есть какая-то сторонняя библиотека, которая не была перекомпилирована и все еще содержит ссылки на старую отладочную информацию?

Обычно файл типа .pdb создается для целей отладки.Согласно некоторой информации, которую я нашел в файле типа .pdb, там написано "этот файл содержит отладочную информацию, которая используется при выполнении программы в режиме отладки".

Я вижу, что вы получаете только предупреждение, а не ошибку, которую программа должна запустить, если вы получили ноль ошибок.

Я считаю, что этот файл вам нужен только для отладки или профилирования.Обычно параметр release используется в окончательной сборке, чтобы обеспечить максимально быстрое выполнение вашей программы.Надеюсь, это поможет.

Вероятно, это какой-то .lib-файл, который был скомпилирован с помощью VS2005.

Вам нужно перекомпилировать ВСЕ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top