Stworzyłem aplikację, która opiera się na pliku DLL. Kiedy debuguję moją aplikację, aplikacja będzie narzekać, że:
„Nie udało się uruchomić tej aplikacji, ponieważ nie znaleziono xxx.dll”.
Muszę więc skopiować plik DLL do tego samego katalogu, co mój plik .vcproj.
Czy istnieje sposób, aby projekt szukał pliku DLL w (najlepiej) jakiejś ścieżce względnej lub (nie preferowanej) w jakiejś ścieżce bezwzględnej?
Koncepcja podobna do tego, jak ustawiamy dołączanie i ścieżkę biblioteki w ustawieniach projektu.
Chodzi mi o to, że kiedy debuguję moją aplikację (trafiając F5), powyższy błąd wyskakuje.
visual-studio
visual-c++
dll
sivabudh
źródło
źródło
Ścieżkę wyszukiwania używaną przez moduł ładujący podczas wywoływania funkcji LoadLibrary () można zmienić za pomocą funkcji SetDllDirectory () . Możesz więc po prostu to wywołać i dodać ścieżkę do swojej zależności, zanim ją załadujesz.
Zobacz także Kolejność wyszukiwania DLL .
źródło
Przejdź przez właściwości projektu -> Ścieżki odniesienia
Następnie dodaj folder z bibliotekami DLL
źródło
Inną możliwością byłoby ustawienie w
Working Directory
opcjach debugowania katalogu zawierającego tę bibliotekę DLL.Edycja: zamierzałem wspomnieć o użyciu pliku wsadowego do uruchomienia programu Visual Studio (i ustawieniu zmiennej PATH w pliku wsadowym). Więc poszukałem trochę i zobaczyłem, że dokładnie to samo pytanie zostało zadane nie tak dawno temu w tym poście . Odpowiedź sugeruje opcję pliku wsadowego, a także ustawienia projektu, które najwyraźniej mogą załatwić sprawę (nie testowałem tego).
źródło
We właściwościach projektu (kliknij prawym przyciskiem myszy projekt, kliknij przycisk właściwości) ▶ Właściwości konfiguracji ▶ Budowanie zdarzeń ▶ Wydarzenia po kompilacji ▶ Wiersz poleceń.
Edytuj i dodaj jedną instrukcję do wiersza poleceń. na przykład skopiuj botan.dll ze ścieżki źródłowej do lokalizacji, w której program jest wykonywany.
copy /Y "$(SolutionDir)ProjectDirs\x64\Botan\lib\botan.dll" "$(TargetDir)"
źródło
Wiem, że odpowiedź na to pytanie udzielono wiele lat temu, ale dla takich jak ja, którzy musieli zmienić miejsce, w którym debugger uruchamia aplikację, zmień właściwość polecenia w obszarze Właściwości projektu -> Debugowanie.
źródło