J'essaie d'obtenir des pratiques en utilisant des dlls Windows (non utilisés pour eux). J'ai suivi cet article: P>
http://msdn.microsoft.com/en-us/ Bibliothèque / MS235636 (v = vs.80) .aspx p>
à la lettre. P>
Et pourtant, je reçois cette erreur: p>
1> Lien: erreur fatale LNK1104: impossible d'ouvrir le fichier '.. \ débogo \ math.lib' p>
Mon projet est un projet DLL, pas une lib. Et il n'y a pas de libs créé de mes projets (toute la solution). P>
Quelqu'un a une idée de ce qui ne va pas? P>
3 Réponses :
Votre projet .dll pourrait créer une importation .Lib. Cela simplifie à l'aide d'une DLL. Une importation .Lib est une bibliothèque simple qui a la même fonction que votre DLL, mais elle n'a pas la mise en œuvre - lorsque vous l'utilisez, elle charge la DLL, puis transmet les appels que vous apportez à la DLL. p>
ou, le projet de la console pourrait penser que vous avez une importation .Lib - mais vous ne le faites pas. P>
Les instructions pour créer / utiliser une DLL que vous avez sont un peu impair. Je ne le fais pas de cette façon (avec la boîte de dialogue Ajouter des références). Vous devrez peut-être consulter les paramètres de votre projet et voir si vous voyez une référence à Math.Lib - ou quoi que ce soit sur la création d'une importation .Lib. P>
En outre, vérifiez vos répertoires de sortie sur le projet .dll et voyez si Math.Lib (ou n'importe quel .Lib) a été créé. P>
vs ne crée pas de bibliothèque d'importation si la DLL n'exporte rien. Pour vérifier rapidement si c'est votre cas, trouvez votre DLL, ouvrez-la avec Walker de dépendance et voyez s'il y a des exportations du tout. < / p>
Si vous trouvez une vérification manquante des exportations Si vous avez marqué quelque chose pour l'exportation: soit en déclarant des classes / fonctions comme "__declSpec (dllexport)" (lorsque l'en-tête est inclus dans la DLL, Dllimport lorsqu'il est inclus par EXE) ou externe "C" Plus Définition du module (.def) Fichier. P>
Pour moi, le __ DeclSpec (dllexport) code> était le remède pour mon problème. J'espère que cela reste la solution de pointe en 2017
Cela pourrait être dû à quelque chose d'aussi simple que la dépendance dans Visual Studio 2008 Le paramètre se trouve à l'adresse suivante: En outre, vous pouvez vérifier que: Le chemin d'accès à la DLL 'Lib's n'est plus inclus dans la ligne de commande "Linker" de votre projet principal à: Dépendances du projet CODE> et simplement la vérification des projets DLL résoudra le problème. p>
Propriétés de configuration> Linker> Ligne de commande Code> p>
Obtenez-vous l'erreur de liaison sur le projet DLL ou sur le projet d'application de la console?
Le projet Win32 lui-même. Je pense i> Ce pourrait être parce que tous les membres de mon groupe ne sont pas déclarés avec la déclaration __declSpec (Dllimport)?
Les deux projets sont des projets WIN32. Est-ce le projet .dll ou le projet .exe?
Les instructions disent __declspec (Dllexport)