Я просмотрел полный 14-страничный список похожих проблем, но не нашел своего случая.
У меня есть решение VS2017 C++, в котором есть два проекта DLL и EXE. В проектах EXE есть заголовок DLL для импорта из него функций.
Проблема в том, что компоновщик не может найти файл dllproject.lib
. Я попытался добавить его в Linker -> Input -> Additional Dependencies
, но это не помогло, потому что компоновщику не удалось найти этот файл библиотеки, а он существует в выходной папке.
Затем я использовал
#pragma comment( lib, "C:\\FULL_PATH\\dllproject.lib")
И на этот раз помогло. Но проблема в моем локальном абсолютном пути к библиотеке. Полагаю, я могу как-то настроить это в настройках проекта, но все мои попытки не увенчались успехом.
В файле заголовка DLL у меня есть блок (советовался в других ответах).
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
Пожалуйста помоги.
Щелкните правой кнопкой мыши узел «Ссылки» проекта EXE> «Добавить ссылку»> «Проект»> отметьте свой проект библиотеки. Готово.
Это лучший способ, спасибо!
Добавление библиотеки в ваш проект - это двухэтапный процесс.
Вы добавляете имя библиотеки в Linker / Input / Additional Dependencies и добавляете папку библиотеки в Linker / General / Additional Library Directories.
Тогда, конечно, у вас есть потенциальная проблема, связанная с тем, что ваша программа не может найти вашу DLL, но это другой вопрос.
Теперь работает как оберег. DLL находится в той же папке, поэтому это не проблема. Спасибо!
Жалко, что при ошибке нет кнопки «Обзор» для просмотра отсутствующих файлов библиотеки. Может быть, они могли бы переназначить некоторых разработчиков из команды скрепок для работы над этим: -)
Возможно, вы ищете
Linker > General > Additional Library directories
в свойствах проекта.