Références DLL dans Visual C ++

J’ai eu une expérience C ++ mais pas MSVC.

Ce que j’essaie de faire est d’incorporer un fichier .dll à partir d’un projet open source dans mon projet. Le code est disponible et je l’ai construit. J’ai le fichier .dll ainsi que le fichier .lib qui, si j’ai bien compris, est requirejs pour les projets C ++.

Maintenant, malheureusement, il n’y a pas de simple “Ajouter une référence”, déposez mon fichier .dll dans un répertoire include et ajoutez-le à ma solution. J’ai modifié les pages de propriétés du projet, l’option Répertoires d’inclusion supplémentaires C / C ++ et l’ajout du .lib en tant que dépendance de l’éditeur de liens supplémentaire. J’ai créé un répertoire include pour la DLL et la lib dans mon arborescence de solutions.

Mon problème est lorsque j’essaie d’inclure les fichiers d’en-tête de la documentation, la sortie de VS crache des messages d’erreur. Maintenant, je me rends compte que j’utilise le combo dll / lib et que les fichiers .h ne sont pas présents dans ma solution. J’utilise également la boîte à outils QT qui fonctionne, mais la façon dont j’ajoute l’autre en-tête / dll de la bibliothèque open source m’échappe.

Quelqu’un peut-il s’il vous plaît me diriger dans la bonne direction.

Vous devez faire quelques choses pour utiliser la bibliothèque:

  1. Assurez-vous que vous avez à la fois le * .lib et le * .dll de la bibliothèque que vous souhaitez utiliser. Si vous n’avez pas le * .lib, ignorez # 2

  2. Mettez une référence au * .lib dans le projet. Cliquez avec le bouton droit sur le nom du projet dans l’Explorateur de solutions, puis sélectionnez Propriétés de configuration-> Editeur de liens-> Entrée et placez le nom de la lib dans la propriété Dépendances supplémentaires.

  3. Vous devez vous assurer que VS peut trouver la lib que vous venez d’append, vous devez donc aller dans le menu Outils et sélectionner Options … Sous Projets et solutions, sélectionnez Répertoires VC ++, modifiez l’option Répertoire de bibliothèque. De là, vous pouvez définir le répertoire qui contient votre nouvelle lib en sélectionnant les “Fichiers de bibliothèque” dans la liste déroulante “Afficher les répertoires pour”. Ajoutez simplement le chemin d’access à votre fichier lib dans la liste des répertoires. Si vous n’avez pas de lib, vous pouvez l’omettre, mais si vous êtes ici, vous devrez également définir le répertoire qui contient vos fichiers d’en-tête sous “Inclure les fichiers”. Faites-le de la même manière que vous avez ajouté la lib.

Après cela, vous devriez être prêt à utiliser votre bibliothèque. Si vous n’avez pas de fichier lib, vous pouvez toujours utiliser la DLL en l’important vous-même. Au démarrage de vos applications, vous pouvez charger explicitement la DLL en appelant LoadLibrary (voir: http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx pour plus d’informations)

À votre santé!

MODIFIER

N’oubliez pas d’utiliser #include par opposition à #include “foo.h”. Le premier recherche le chemin d’inclusion. Ce dernier utilise les fichiers de projet locaux.

Les répertoires include supplémentaires sont relatifs au répertoire du projet. C’est normalement le répertoire où se trouve votre fichier de projet, * .vcproj. Je suppose que dans votre cas, vous devez append simplement “include” à vos répertoires include et library.

Si vous voulez être sûr de votre répertoire de projet, vous pouvez vérifier la valeur de la macro $ (ProjectDir). Pour ce faire, allez dans “C / C ++ -> Additional Include Directories”, appuyez sur le bouton “…” et dans la boîte de dialog contextuelle, appuyez sur “Macros >>”.