Ошибка связывания LNK1104 в Visual C ++ 2010 - PullRequest
8 голосов
/ 05 сентября 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'

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

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

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

Ответы [ 3 ]

4 голосов
/ 06 сентября 2010

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

3 голосов
/ 26 ноября 2012

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

на моем компьютере это

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

1 голос
/ 01 марта 2011

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

...