Ошибка компоновки LNK1104 в Visual C++ 2010

Сегодня я запустил Visual Studio 2010 (Visual C++) и начал работать над проектом. Решение содержит два проекта. Один из них — статическая библиотека, которую я пишу, другой — тестовое приложение, содержащее модульные тесты для библиотеки.

Ничего не меняя со вчерашнего дня, исполняемый файл больше не ссылается:

LINK : fatal error LNK1104: cannot open file 'mylib.lib'

Статическая библиотека компилируется и линкуется нормально. Я не менял настройки проекта около недели, и вчера он прекрасно линковался.

Если я зайду в настройки исполняемого проекта и добавлю каталог библиотеки для $(SolutionDir)\debug, вместо этого я получу следующую ошибку ссылки:

LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

Я не уверен, в чем проблема. Я пробовал чистить, восстанавливать и даже перезагружать свою машину. Гугл обнаружил некоторые ошибки в древних версиях Visual C++ (но я использую 2010), а также возможность того, что программа уже запущена. Однако он не запускается, и перезагрузка это подтверждает.

Что может привести к тому, что компоновщик не найдет основные библиотеки, такие как kernel32.lib, или, если уж на то пошло, выходной каталог для моего решения?

Это старомодный C++, кроссплатформенная библиотека, а не та управляемая штука, которую добавила Microsoft.


person Community    schedule 04.09.2010    source источник


Ответы (3)


Мне пришлось проверить «Наследовать от родительских или проектных значений по умолчанию» в диалоговом окне «Каталоги библиотек». Как только я это сделал, компоновщик смог найти все необходимые библиотеки. Однако мне все же пришлось включить $(SolutionDir)\debug.

person Community    schedule 05.09.2010

Включите каталог microsoft SDK в проект->свойства->компоновщик->общие->дополнительные каталоги библиотек.

на моем компе это

D:\Program Files\Microsoft SDK\Windows\v7.1\Lib

person john ktejik    schedule 25.11.2012

Я устранил эту проблему, отключив «Включить пошаговое выполнение исходного кода .NET Framework» (см.: «Панель меню/Инструменты/Параметры/Отладка/Общие/Включить пошаговое выполнение исходного кода .NET Framework»). По-видимому, это ошибка в Visual Студия.

person Dimitri C.    schedule 01.03.2011