Проблемы с линкером после перехода на VS2005 с VC6 (LNK4099) - PullRequest
0 голосов
/ 19 марта 2009

Я перенес один из моих старых проектов на 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 ..

Спасибо

Ответы [ 4 ]

4 голосов
/ 19 марта 2009

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

1 голос
/ 19 марта 2009

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

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

0 голосов
/ 19 марта 2009

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

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

0 голосов
/ 19 марта 2009

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

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

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

...