Je suis de retour en C/C++ après quelques temps de pause. J'ai un problème suivant:C++ lien externe non résolu symbole (encore;) à partir d'un autre fichier source fichier * .obj. (VC++ express)
J'ai une solution où j'ai plusieurs projets (compilables et reliables). Maintenant, je dois ajouter un autre projet à cette solution qui dépend de certaines sources d'autres projets.
Mon nouveau projet compile sans aucun problème (j'ai ajouté des "sources existantes" à mon projet).
l'erreur:
1>Linking...
1>LicenceManager.obj : error LNK2019: unresolved external symbol "int __cdecl saveLic(char *,struct Auth *)" ([email protected]@[email protected]@@Z) referenced in function "public: void __thiscall LicenceManager::generateLicence(int,char *)" ([email protected]@@[email protected])
1>LicenceManager.obj : error LNK2019: unresolved external symbol "void __cdecl getSysInfo(struct Auth *)" ([email protected]@[email protected]@@Z) referenced in function "public: void __thiscall LicenceManager::generateLicence(int,char *)" ([email protected]@@[email protected])
Fonctions saveLic et GetSysInfo sont définis dans les fichiers que je l'ai ajouté à mon nouveau projet de ceux qui existent déjà. Il y a un fichier objet créé lors de la compilation avec ces fonctions dans le répertoire cible, mais ma classe LicenceManager ne veut pas lier.
J'utilise quelques
extern "C" , and #pragma pack
quelque part, mais pas de choses plus de fantaisie. Je pense que chaque répertoire, lib et autres dépendances nécessaires sont visibles dans les paramètres de ce projet.
Merci pour tout conseil.
Lorsque je vois différentes conventions d'appel dans l'appelant et l'appelé, êtes-vous sûr qu'ils ont les bonnes valeurs? – Pieter