J'ai développé une application qui dépend d'un fichier DLL. Lorsque je débogue mon application, l'application se plaindra que:
"Cette application n'a pas pu démarrer car xxx.dll n'a pas été trouvé."
Je dois donc copier le fichier DLL dans le même répertoire que mon fichier .vcproj.
Existe-t-il un moyen de définir le projet pour rechercher le fichier DLL dans (de préférence) un chemin relatif ou (non préféré) un chemin absolu?
Concept similaire à la façon dont nous définissons l'inclusion et le chemin de la bibliothèque dans les paramètres du projet.
Je veux dire, lorsque je débogue mon application (en frappant F5), l'erreur ci-dessus apparaîtra.
visual-studio
visual-c++
dll
sivabudh
la source
la source
Le chemin de recherche utilisé par le chargeur lorsque vous appelez LoadLibrary () peut être modifié à l'aide de la fonction SetDllDirectory () . Vous pouvez donc simplement appeler ceci et ajouter le chemin d'accès à votre dépendance avant de le charger.
Voir aussi Ordre de recherche des DLL .
la source
Parcourez les propriétés du projet -> Chemins de référence
Ensuite, ajoutez un dossier avec des DLL
la source
Une autre possibilité serait de définir le
Working Directory
sous les options de débogage pour être le répertoire contenant cette DLL.Edit: J'allais mentionner l'utilisation d'un fichier batch pour démarrer Visual Studio (et définir la variable PATH dans le fichier batch). Alors j'ai fait un peu de recherche et j'ai vu que cette même question avait été posée il n'y a pas longtemps dans ce post . La réponse suggère l'option de fichier de commandes ainsi que les paramètres du projet qui peuvent apparemment faire le travail (je ne l'ai pas testé).
la source
Dans les propriétés de votre projet (clic droit sur le projet, cliquez sur le bouton de propriété) ▶ Propriétés de configuration ▶ Événements de construction ▶ Événements de post-construction ▶ Ligne de commande.
Modifiez et ajoutez une instruction à la ligne de commande. par exemple, copiez botan.dll du chemin source vers l'emplacement où est exécuté le programme.
la source
Je sais que cette question avait reçu une réponse il y a des années, mais pour ceux comme moi qui avaient besoin de changer l'endroit où le débogueur démarre l'application, modifiez la propriété de commande sous Propriétés du projet -> Débogage.
la source