l'importation d'un fichier lib à l'aide de visual studio
J'essaie d'importer un fichier comme ci-dessous:
#import "francais.dll"
Il me dit qu'il ne peut pas ouvrir le fichier source "C:/xxxx/Proj/Release/francais.tlh"
Le fichier de la Bibliothèque est existant dans Proj.
Comment résoudre ce problème?
Avez-vous ajouté le chemin de la dll pour les propriétés du projet?
Je ne comprends pas. Désolé. Vous voulez dire, n'ai-je ajouter francais.dll pour mon projet?
Aussi, je ne suis pas sûr de ce qu'un
Je ne comprends pas. Désolé. Vous voulez dire, n'ai-je ajouter francais.dll pour mon projet?
Aussi, je ne suis pas sûr de ce qu'un
.tlh
fichier est. Est que une source/fichier d'en-tête?OriginalL'auteur MelMed | 2013-10-15
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter les .lib dans les propriétés du projet. Avez-vous un .lib pour aller avec la DLL? Une autre question à traiter avec un problème similaire peut être trouvé ici: Comment puis-je utiliser un tiers de fichier DLL dans Visual Studio C++?
Principale chose à noter est que vous ayez ou non un
.lib
pour aller avec votre DLL. Une autre chose que j'ai fait avant, mais je ne serait pas tout à fait à recommander, c'est de copier la DLL dans le même répertoire que l'exécutable. Chaque fois que le chargement des Dll, Windows vérifie automatiquement le chemin d'accès que l'exécutable est dans.1) Sur la barre de menu (en haut de la fenêtre) cliquez sur
project
->properties
(ou alt+f7).2) Ouvrir la configuration
properties
->linker
. Puis, dans lageneral
onglet, ajouter le répertoire à votre"Additional Library Directories"
.3) Puis cliquez sur
input
juste en dessous degeneral
et d'ajouter le nom de la lib à la"Additional Dependencies"
OriginalL'auteur zero298
Il n'est pas un "fichier de bibliothèque", c'est un serveur COM. La directive #import auto-génère une .tli et un .tlh fichier de la bibliothèque de type qui est incorporé dans francais.dll. Il n'y a aucune raison évidente pour laquelle il ne serait pas en mesure de charger .tlh fichier, il y a probablement quelque chose de mal avec cette DLL. Difficile de voir à partir d'ici. Assurez-vous que vous n'êtes pas ignorant plus tôt les erreurs, à commencer par le haut de la fenêtre Liste des Erreurs.
Comme une vérification de base, vous pouvez consulter ce type de bibliothèque vous-même. Exécuter OleView.exe à partir de l'Invite de Commande Visual Studio et l'utilisation de Fichier + Affichage de la bibliothèque de types, sélectionnez la DLL. Vous avez besoin de voir le contenu de la bibliothèque de type, décompilé en IDL.
Vous pouvez également le voir en VS lui-même, l'utilisation de Fichier + Ouvert + le Fichier et sélectionnez la DLL. Vous verrez les ressources qui sont incorporés dans la DLL, il doit y avoir un nœud étiqueté "bibliothèque de types" avec une seule ressource avec l'ID 1, qui est le type réel de la bibliothèque. Si quelque chose va mal avec ces deux vérifications puis la directive #import n'est pas susceptible de travailler.
Et ne remarque que c'est bizarre qu'il essaie de trouver le fichier dans le répertoire de sortie. Normalement vous devriez toujours commencer avec la configuration de Débogage.
OriginalL'auteur Hans Passant
si vous insistez sur le couplage de votre Dll à partir d'un code que vous pouvez utiliser (pas tous de la prise en charge du compilateur qui, VS, ne) :
utilisation
#import
pour COM les bibliothèques standard DllOriginalL'auteur RonenKr
J'ai eu des problèmes similaires avec le serveur COM MSO.DLL (MS Office, 14 /2010) dans Visual Studio 2015.
L' (rouge) IntelliSense avertissement disparaît après le premier bâtiment/de la compilation!
Mon véritable problème est le chemin exact. J'ai eu à l'écrire manuellement. Copier/coller vom Explorer ne fonctionne pas.
OriginalL'auteur CarpeDiemKopi