LNK1004: Не удается открыть файл 'Jsfwbase12D.lib' - PullRequest
0 голосов
/ 19 июля 2011

Итак, я немного запутался в этой ошибке, которую я получаю при компиляции / компоновке проекта C ++.

В разделе Input конфигурации Linker у нас есть дополнительная зависимость с именем файла Jsfwbase12D.lib . Этот файл был недавно изменен на Jsfwbase12.lib без прописной буквы D . Я изменил ссылки в проекте на новое имя файла, а затем попытался перекомпилировать и получил следующее сообщение об ошибке.

Error   2   fatal error LNK1104: cannot open file 'Jsfwbase12D.lib' m5gaddrs    m5gaddrs

Я открыл файл vcproj в блокноте и искал старое имя файла, и он нашел ноль результатов.

Кто-нибудь знает, почему компоновщик не ищет правильный файл и вместо этого пытается найти старый?

Edit: Я открыл файл obj в блокноте и нашел старую ссылку Jsfwbase12D.lib . Похоже, именно поэтому компоновщик не работает. Теперь реальный вопрос: почему компилятор вставляет эти ссылки для режима отладки, если они нигде не указаны?

/DEFAULTLIB:"Jsfwbase12D.lib"

1 Ответ

2 голосов
/ 19 июля 2011

Ваш код, вероятно, где-то содержит #pragma comment(lib, "Jsfwbase12D.lib").Это сообщает компоновщику о зависимости, которая включается во время ссылки.

...