2010-07-18 3 views
0

J'utilise Visual Studio 2008 sous Windows 7. J'ai un fichier .lib et les fichiers .h qui l'accompagnent (qui utilisent wxWidgets si cela fait une différence) qui se compilent sans aucun problème.Problèmes d'importation d'un fichier .lib dans un autre projet

J'essaie d'importer cette bibliothèque dans un projet GUI mais quand je le fais, la classe principale qui m'intéresse ne semble pas être là?

J'ai ajouté #include "MyLib.h" à l'IUG et ajouté mylib.lib aux bibliothèques, y compris, mais pour une raison quelconque, je reçois:

MyLib.obj : error LNK2001: unresolved external symbol "public: __thiscall MyLibClass::MyLibClass(void)" ([email protected]@[email protected]) 

Pourquoi pourrait-il arriver?

Répondre

1

Peut-être faites-vous référence à une ancienne version de la bibliothèque? Êtes-vous sûr que les bibliothèques liées dans les paramètres du projet sont définies sur le bon chemin?

+0

Got it - j'avais changé le répertoire de sortie il y a un certain temps et utilisait le mauvais. –

0

Il semble que lorsque vous avez créé la bibliothèque, vous n'avez pas inclus tous les fichiers objets. Notez, en particulier, que c'est mylib.obj qui montre l'externe non résolu. Il semble juste de deviner que mylib.obj est dans mylib.lib, auquel cas il est dit que mylib.lib n'inclut pas tous les "trucs" dont il dépend.

1

Assurez-vous que vous une recréation de MYLIB.LIB puis l'ajouter à la deuxième projet en ajoutant:

commentaire #pragma (lib, "C: \ chemin complet de \ \ à \ lib \ here.lib ")

à n'importe quel fichier source.

Si cela fonctionne, alors vous savez que vous avez un problème avec vos chemins

Questions connexes