Как отладить ошибку неразрешенных внешних символов в VS, когда библиотека уже добавлена ​​в дополнительные зависимости - PullRequest
0 голосов
/ 26 мая 2020

Я использую библиотеку C ++, которая использует функции из win inet .lib. Когда я компилирую в VS2017, я получаю ошибки связи.

Я добавил win inet .lib к дополнительным зависимостям проекта и убедился, что он находится в последней командной строке, но по-прежнему получаю ошибки компоновщика:

LNK2001 неразрешенный внешний символ __imp_InternetOpenW

Но все компилируется, если я добавляю:

#pragma comment(lib,"Wininet.lib")

в свой код. У меня есть другой подобный проект, который отлично компилируется с той же библиотекой без прагмы #.

Как я могу отладить, почему VS2017 не может найти зависимость, когда библиотека добавлена ​​к дополнительным зависимостям?

1 Ответ

1 голос
/ 26 мая 2020

Вероятно, вы добавили wininet.lib только для конкретной c конфигурации или платформы, но построили для другой комбинации. Пожалуйста, присмотритесь к свойствам вашего проекта. В верхней части диалогового окна свойств есть два раскрывающихся списка.

Это, по крайней мере, объясняет, почему #pragma работает, поскольку он применяется независимо от выбранной конфигурации и платформы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...