Как установить путь к файлу DLL в Visual Studio? - PullRequest
115 голосов
/ 22 января 2010

Я разработал приложение, которое зависит от файла DLL.Когда я отлаживаю мое приложение, приложение будет жаловаться на то, что:

"Не удалось запустить это приложение, так как xxx.dll не был найден."

Таким образом, я должен скопировать файл DLL в тот же каталог, что и мой файл .vcproj.

Есть ли способ настроить проект для поиска файла DLL по (предпочтительно) некоторому относительному пути или (не предпочтительно)) какой-то абсолютный путь?

Аналогично тому, как мы устанавливаем include и путь к библиотеке в настройках проекта.

Я имею в виду, когда я отлаживаю мое приложение (нажимая F5 ) появится вышеупомянутая ошибка.

Ответы [ 6 ]

167 голосов
/ 22 января 2010
  1. Перейти к свойствам проекта (Alt + F7)
  2. В разделе «Отладка» посмотрите направо
  3. Есть поле Environment.
  4. Добавьте туда свой относительный путь (относительно папки vcproj), то есть .. \ some-framework \ lib, добавив PATH=%PATH%;$(ProjectDir)\some-framework\lib или добавив к пути PATH=C:\some-framework\lib;%PATH%
  5. Нажмите F5 (отладка) еще раз, и он должен работать.
8 голосов
/ 22 января 2010

Путь поиска, который используется загрузчиком при вызове LoadLibrary (), можно изменить с помощью функции SetDllDirectory () . Так что вы можете просто вызвать это и добавить путь к вашей зависимости, прежде чем загружать ее.

См. Также Порядок поиска DLL .

7 голосов
/ 03 сентября 2015

Просмотр свойств проекта -> Ссылочные пути

Затем добавьте папку с DLL

4 голосов
/ 22 января 2010

Другой возможностью было бы установить Working Directory в параметрах отладки в качестве каталога, в котором находится эта DLL.

Edit: я собирался упомянуть использование командного файла для запуска Visual Studio (и установить переменную PATH в командном файле). Затем я немного поискал и увидел, что этот же вопрос был задан совсем недавно в этом сообщении . В ответе предлагается опция пакетного файла, а также настройки проекта, которые, по-видимому, могут выполнять эту работу (я не тестировал ее).

2 голосов
/ 26 мая 2019

В свойствах вашего проекта (щелкните проект правой кнопкой мыши, нажмите кнопку свойства) ▶ Свойства конфигурации ▶ События сборки ▶ События после сборки ▶ Командная строка.

Редактировать и добавить одну инструкцию в командную строку. например, скопируйте botan.dll из исходного пути в место, где выполняется программа.

copy /Y "$(SolutionDir)ProjectDirs\x64\Botan\lib\botan.dll" "$(TargetDir)"

Project Properties

0 голосов
/ 31 августа 2016

Я знаю, что на этот вопрос был дан ответ несколько лет назад, но для таких, как я, которым нужно было изменить место, где отладчик запускает приложение, измените свойство команды в Project Properties -> Debugging.

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