Comment puis-je ajouter une DLL dans Visual Studio 2010?
Je ne trouve pas l'option ici.
Merci.Liaison dll dans Visual Studio
Répondre
Sur Windows, vous ne devez pas lier avec un fichier .dll
directement –, vous devez utiliser le fichier .lib
à la place. Pour ce faire, allez à Project -> Properties -> Configuration Properties -> Linker -> Additional Dependencies
et ajoutez le chemin d'accès à votre fichier .lib en tant que ligne suivante.
Vous devez aussi assurez-vous que le fichier .dll
est soit dans le répertoire contenu par la variable d'environnement %PATH%
ou que sa copie est en Output Directory
(par défaut, c'est Debug\Release
dans le dossier de votre projet).
Si vous n'avez pas accès au fichier .lib
, une alternative est de charger le .dll
manuellement lors de l'exécution en utilisant les fonctions de winapi telles que LoadLibrary et GetProcAddress.
Vous n'ajoutez pas ou ne liez pas directement à une DLL, vous liez le LIB généré par la DLL. Un LIB fournit des symboles et d'autres données nécessaires pour inclure une bibliothèque dans votre code (liaison statique) ou se référer à la DLL (liaison dynamique). Pour créer un lien avec un LIB, vous devez l'ajouter à la liste Propriétés du projet -> Lieur -> Saisie -> Dépendances supplémentaires. Tous les fichiers LIB ici seront utilisés dans la liaison. Vous pouvez également utiliser un pragma comme ceci:
#pragma comment(lib, "dll.lib")
Avec la liaison statique, le code est inclus dans votre exécutable et il n'y a pas de dépendances d'exécution. La liaison dynamique nécessite une DLL avec le nom correspondant et les symboles disponibles sous the search path (et non juste le chemin d'accès ou le répertoire système).
A propos de la liaison statique: Comment puis-je faire Visual Studio pour copier la DLL d'un certain répertoire à la sortie sur la construction (ou sur la liaison)? – Marcel
@Marcel Chaque projet fournit des étapes de pré-construction, de post-construction et d'autres étapes (vérifiez les paramètres du projet). Vous pouvez y copier un fichier, ou même exécuter un script complet (j'ai un script configuré pour créer un en-tête à partir des ID de révision git et incrémenter le numéro de build dans pre-build, puis copier les fichiers dans une installation de test). – ssube
- 1. Liaison DLL dans Visual Studio 2010 C++
- 2. Liaison dynamique dans Visual Studio
- 3. Problème DLL Visual Studio
- 4. Visual Studio 2008 IDE - Liaison statique d'une bibliothèque Dll C
- 5. Visual studio - erreur avec dll.
- 6. Visual Studio .dll Référence introuvable?
- 7. Visual Studio 2008 dll question
- 8. Visual Studio Debugging DLL référencé
- 9. Auto-versioning DLL dans Visual Studio 2008
- 10. Comment lier .dll dans visual studio 2008?
- 11. yaml C++ dll sous visual studio
- 12. Liaison zlib dans Visual Studio 2012
- 13. Problèmes de liaison dans Visual Studio 2010
- 14. Liaison dynamique et statique et déploiement dans Visual Studio 2010
- 15. Erreur de liaison Tricky dans Visual Studio 2008
- 16. Visual studio 2008 - Projet référencé dll
- 17. Visual Studio: emplacements DLL pour la publication
- 18. Débogage Visual Studio 2010 DLL Project
- 19. Projet Visual Studio nommé aléatoirement DLL
- 20. Visual Studio, .dll introuvable (jamais demandé)
- 21. Visual Studio 2008 - Projet sans DLL
- 22. Création de DLL C++ avec Visual Studio
- 23. Exécuter Fortran DLL avec Visual Studio
- 24. Visual Studio: différentes DLL pour les configurations
- 25. Erreur de liaison 2005, 2001 dans Visual Studio 2008
- 26. Liaison avec DLL dans C/C#
- 27. Liaison de données - Visual Studio 2010
- 28. Visual Studio 2010: Problèmes de liaison
- 29. Problème de liaison Visual Studio avec Cuda
- 30. Inclusion dans un projet Visual Studio 2005 d'une DLL construite avec Visual Studio 2010
J'ai vu des endroits où ils mentionnent les fichiers .h aussi. Avons-nous besoin d'eux pour ce processus? Je pense qu'ils ne sont pas nécessaires, puisque le fichier .lib contient toutes les informations pour la DLL. – darkgaze
@darkgaze Je pense qu'ils sont encore nécessaires car les fichiers .h contiennent généralement tous les prototypes, déclarations, constantes, macros, etc –