Чтобы включить сторонние библиотеки DLL в мой проект VS 2008 C ++, я сделал следующее (вы должны быть в состоянии перевести на 2010, 2012 и т. Д.) ...
Я поместил заголовочные файлы в свое решение вместе с другими моими заголовочными файлами, внес изменения в мой код для вызова функций DLL (иначе зачем нам все это делать?). : ^) Затем я изменил сборку, чтобы связать код LIB с моим EXE-файлом, скопировать библиотеки DLL на место и очистить их, когда я произвел «очистку» - я объясню эти изменения ниже.
Предположим, у вас есть 2 сторонних DLL, A.DLL и B.DLL, и у вас есть заглушка LIB-файл для каждого (A.LIB и B.LIB) и заголовочные файлы (A.H и B.H).
- Создайте каталог "lib" в каталоге вашего решения, например, с помощью проводника Windows.
- Скопируйте сторонние файлы .LIB и .DLL в этот каталог
(Вам нужно будет внести следующий набор изменений один раз для каждой цели сборки исходного кода, которую вы используете (Debug, Release).)
Сделать ваш EXE-файл зависимым от файлов LIB
- Перейдите в Свойства конфигурации -> Линкер -> Ввод -> Дополнительные зависимости и перечислите свои файлы .LIB там по одному, разделенные пробелами :
A.LIB B.LIB
- Перейдите в Свойства конфигурации -> Общие -> Дополнительные каталоги библиотек и добавьте свой каталог "lib" к любому, который у вас там уже есть. Записи разделяются точкой с запятой . Например, если у вас уже было
$(SolutionDir)fodder
, измените его на $(SolutionDir)fodder;$(SolutionDir)lib
, чтобы добавить "lib".
Принудительно скопировать библиотеки DLL в выходной каталог
- Перейдите в Свойства конфигурации -> События сборки -> Событие после сборки
- Введите в командной строке следующее (значения переключателей см. В разделе «XCOPY /?» В окне DOS):
XCOPY "$(SolutionDir)"\lib\*.DLL "$(TargetDir)" /D /K /Y
- Вы можете поставить что-то вроде этого для Описание:
Copy DLLs to Target Directory
- Исключено из сборки должно быть
No
.
Нажмите OK
.
Скажите VS очистить библиотеки DLL, когда он очищает выходную папку:
- Перейдите в Свойства конфигурации -> Общие -> Расширения для удаления при очистке и нажмите «...»; добавьте
*.dll
в конец списка и нажмите OK
.