Как я устанавливаю путь в файл DLL в Visual Studio?

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

"Этому приложению не удалось запуститься, потому что xxx.dll не был найден".

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

Существует ли способ установить проект искать файл DLL в (предпочтительно) некотором относительном пути или (не предпочтенный) некоторый полный путь?

Подобное понятие к тому, как мы устанавливаем, включает и путь к библиотеке в настройки проекта.

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

121
задан Peter Mortensen 2 June 2017 в 19:28
поделиться

3 ответа

  1. Перейти к свойствам проекта (ALT + F7)
  2. при отладке, посмотрите вправо
  3. . Там есть среда поле.
  4. Добавьте свой относительный путь к папке VCPROJ), т.е. \ \ quey-framework \ lib путем добавления Path =% Path%; $ (ProjectDir) \ Некоторые рамки \ lib или подготовительные Путь Путь = C: \ Некоторые рамочные \ lib;% Path%
  5. снова ударил F5 (Debug), и он должен работать.
178
ответ дан 24 November 2019 в 01:32
поделиться

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

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

8
ответ дан 24 November 2019 в 01:32
поделиться

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

Править: Я собирался упомянуть, используя пакетный файл для запуска Visual Studio (и установить переменную пути в пакетном файле). Итак, потом сделал немного поиска и посмотреть, что этот точно такой же вопрос спросил не давно в этом посте . Ответ предлагает вариант пакетной файлы, а также настройки проекта, которые, по-видимому, могут сделать работу (я не тестировал его).

4
ответ дан 24 November 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: