151 votes

Visual Studio: comment définir le chemin d'accès à dll?

J'ai développé une application qui dépend d'une dll. Quand je debug mon application, l'application serait de se plaindre que "Cette application n'a pas pu démarrer car xxx.dll n'a pas été trouvé."

Donc ce que j'ai à faire est de copier la dll dans le même répertoire que mon .vcproj.

Est-il un moyen de définir le projet de chercher la dll (de préférence) certains chemin d'accès relatif ou (pas de préférence) certains de chemin d'accès absolu?

Concept similaire à la façon dont nous avons mis include et lib chemin dans les paramètres du projet.

EDIT: Désolé pour la confusion: je voulais dire quand je debug de mon appli (en appuyant sur F5) l'erreur ci-dessus serait pop up.

225voto

ShaChris23 Points 7713
  1. Accéder aux propriétés du projet (Alt + F7)
  2. Sous le débogage, regardez à droite
  3. Il y a un domaine de l'environnement.
  4. Ajoutez votre chemin relatif ici (par rapport au dossier vcproj) c'est-à-dire .. \ some-framework \ lib en ajoutant PATH=%PATH%;$(ProjectDir)\some-framework\lib ou en ajoutant un préfixe au chemin PATH=C:\some-framework\lib;%PATH%
  5. Hit F5 (debug) à nouveau et cela devrait fonctionner.

7voto

jeffamaphone Points 31732

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 la charger.

Voir aussi Ordre de recherche des DLL .

6voto

Mark Wilkins Points 29291

Une autre possibilité serait de définir l' Working Directory sous les options de débogage pour être le répertoire qui a cette DLL.

Edit: j'allais oublier l'aide d'un fichier de commandes pour démarrer Visual Studio (et définissez la variable de CHEMIN d'accès dans le fichier de commandes). Donc ensuite fait un peu de recherche et de voir que c'est exactement la même question a été posée il n'ya pas longtemps dans ce post. La réponse suggère le fichier de commandes option ainsi que les paramètres de projet qui, apparemment, peut faire l'affaire (je n'ai pas testé).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X