Для включення сторонніх бібліотек DLL у мій проект VS 2008 C ++ я зробив наступне (ви повинні мати можливість перекласти на 2010, 2012 тощо) ...
Я помістив файли заголовків у своє рішення разом із іншими файлами заголовків, вніс зміни у свій код, щоб викликати функції бібліотек DLL (інакше навіщо нам все це робити?). : ^) Потім я змінив збірку, щоб зв’язати код LIB з моїм EXE, скопіювати DLL-файли на місце та очистити їх, коли я зробив "чистку" - я пояснюю ці зміни нижче.
Припустимо, у вас є 2 сторонні бібліотеки DLL, A.DLL і B.DLL, і у вас є файл заглушення LIB для кожного (A.LIB і B.LIB) і файли заголовків (AH і BH).
- Створіть каталог "lib" у своєму каталозі рішень, наприклад, використовуючи Провідник Windows.
- Скопіюйте сторонні файли .LIB та .DLL у цей каталог
(Вам доведеться внести наступний набір змін один раз для кожної цільової збірки джерела, яку ви використовуєте (Налагодження, Випуск).)
Зробіть свій 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
.