Как установить путь к DLL файлу в Visual Studio?
Я разработал приложение, которое зависит от DLL файла. Когда я отлаживаю свое приложение, приложение должно жаловаться, что:
"Это приложение не удалось запустить, потому что xxx.dll не был найден."
Поэтому мне нужно скопировать DLL файл в тот же каталог, что и мой .vcproj файл.
Есть ли способ настроить проект на поиск DLL файла в (предпочтительно) некотором относительном пути или (не предпочтительном) каком-то абсолютном пути?
Аналогичная концепция того, как мы устанавливаем include и путь библиотеки в настройках проекта.
Я имею в виду, когда я отлаживаю свое приложение (нажав F5), появится вышеприведенная ошибка.
Ответы
Ответ 1
- Перейти к свойствам проекта (Alt + F7)
- В разделе "Отладка" посмотрите вправо
- Здесь есть поле Environment.
- Добавьте свой относительный путь (относительно папки vcproj), т.е... \some-framework\lib, добавив
PATH=%PATH%;$(ProjectDir)\some-framework\lib
или добавив путь PATH=C:\some-framework\lib;%PATH%
- Хит F5 (debug) снова, и он должен работать.
Ответ 2
Путь поиска, который загрузчик использует при вызове LoadLibrary(), может быть изменен с помощью функции SetDllDirectory(). Поэтому вы можете просто вызвать это и добавить путь к своей зависимости, прежде чем загружать его.
См. также Порядок поиска DLL.
Ответ 3
Перейдите по свойствам проекта → Пути ссылок
Затем добавьте папку с DLL
Ответ 4
Другой возможностью было бы установить Working Directory
в параметрах отладки как каталог, в котором есть эта DLL.
Изменить: я хотел бы упомянуть использование пакетного файла для запуска Visual Studio (и установить переменную PATH в пакетном файле). Итак, немного поработал и посмотрел, что этот тот же самый вопрос был задан совсем недавно в этом сообщении. Ответ предлагает вариант пакетного файла, а также параметры проекта, которые, видимо, могут выполнять работу (я не тестировал ее).
Ответ 5
В свойствах вашего проекта (щелкните правой кнопкой мыши на проекте, нажмите кнопку свойства) ▶ Свойства конфигурации ▶ События сборки ▶ События после сборки ▶ Командная строка.
Отредактируйте и добавьте одну инструкцию в командную строку. например скопировать botan.dll из исходного пути в место, где выполняется программа.
copy /Y "$(SolutionDir)ProjectDirs\x64\Botan\lib\botan.dll" "$(TargetDir)"
![Project Properties]()
Ответ 6
Я знаю, что этот вопрос был дан много лет назад, но для тех, кому нравится, когда нужно изменить, где отладчик запускает приложение, измените свойство команды в разделе "Свойства проекта" → "Отладка".