LNK2019 / 2001: неразрешенный внешний символ - PullRequest
1 голос
/ 25 апреля 2011

В Интернете я видел похожие вопросы, в которых проблемы с людьми, забывающими включить некоторые вещи и т. Д. Однако я получаю эту ошибку после проверки нашего кода в Subversion - другие сделали то же самое, не получив этой проблемы. Мой вопрос: есть ли что-нибудь, что могло произойти на моей машине, чтобы вызвать эту ошибку компоновщика, либо в настройках Visual Studio (но не то, что могло бы повлиять на файл .sln) или вне Visual Studio?

Lnk2019, с здесь состояния:

unresolved external symbol 'symbol' referenced in function 'function'

Lnk2001, с здесь состояний

unresolved external symbol "symbol"

Редактировать: ошибки LNK2019 являются результатом начальной ошибки LNK2001 (при проблеме с созданием определенной библиотеки DLL). Если я получу эту dll от кого-то из нашей команды (и перенесу дату создания на завтра, чтобы VS ее не удалил), я могу отредактировать и отладить. Конечно, я не хотел бы прибегать к обходному пути ...

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Есть вероятность, что библиотека, с которой вы были связаны, была локальной копией, которой больше нет на вашем компьютере.Это произошло, когда кто-то импортировал библиотечную зависимость и использовал абсолютный путь со своего диска C: \, чтобы указать его местоположение.

1 голос
/ 25 апреля 2011

В дополнение к ответу Тони, это также может произойти, если у вас есть более старая версия библиотеки выше в вашем пути поиска библиотек, чем туда, куда была скопирована созданная вами библиотека.Я бы проверил все места, перечисленные в:

"Инструменты-> Параметры-> Проекты и решения-> Каталоги VC ++ ->" Показать каталоги для: Библиотечные файлы ".

...