Как использовать сторонний файл DLL в Visual Studio C++?

Чтобы включить сторонние .dll библиотеки DLL в мой проект winapi VS 2008 C++, я сделал следующее windows-api (вы сможете перевести в 2010, 2012 cpp и т. д.) ...

Я поместил файлы msvs заголовков в свое решение winapi вместе с другими файлами cpp заголовков, внес изменения .dll в свой код для вызова функций dlls DLL (иначе зачем нам все visual-studio это делать?). : ^) Затем winapi я изменил сборку, чтобы связать visual-studio код LIB с моим EXE, скопировать cxx библиотеки DLL на место и win32 очистить их, когда я сделал .dll «чистку» - эти изменения vs.net я объясню ниже.

Предположим, у win32api вас есть две сторонние библиотеки vs.net DLL, A.DLL и B.DLL, и у вас visual-studio-community есть файл-заглушка LIB для winapi каждой (A.LIB и B.LIB) и visual-studio файлов заголовков (AH и BH).

  • Создайте каталог lib в каталоге вашего решения, например с помощью проводника Windows.
  • Скопируйте сторонние файлы .LIB и .DLL в этот каталог.

(Вам dlls нужно будет внести следующий winapi набор изменений один раз dll для каждой целевой целевой cpp сборки, которую вы используете dynamic-link-library (отладка, выпуск).)

  1. Сделайте winapi свой EXE зависимым от файлов visual-studio-community LIB

    • Перейдите в "Свойства конфигурации" -> "Компоновщик" -> "Ввод" -> "Дополнительные зависимости" и перечислите ваши файлы .LIB по одному, разделенные пробелами: A.LIB B.LIB
    • Перейдите в "Свойства конфигурации" -> "Общие" -> "Дополнительные каталоги библиотек" и добавьте каталог "lib" в любой, который у вас уже есть. Записи разделяются точкой с запятой. Например, если у вас уже есть $(SolutionDir)fodder, вы измените его на $(SolutionDir)fodder;$(SolutionDir)lib, чтобы добавить «lib».
  2. Заставить библиотеки DLL cpp копироваться в выходной каталог

    • Перейдите в Свойства конфигурации -> События сборки -> Событие после сборки
    • Введите следующее для командной строки (значения переключателей см. в «XCOPY /?» в окне DOS):

    XCOPY "$(SolutionDir)"\lib\*.DLL "$(TargetDir)" /D /K /Y

    • Для описания можно указать что-то вроде этого:

    Copy DLLs to Target Directory

    • Исключено из сборки должно быть No. Щелкните OK.
  3. Сообщите win32 VS очистить библиотеки DLL msvs при очистке выходной папки:

    • Перейдите в "Свойства конфигурации" -> "Общие" -> "Расширения для удаления при очистке" и нажмите "..."; добавьте *.dll в конец списка и нажмите OK.

c++

visual-studio

winapi

dll

2022-10-19T20:02:32+00:00