Problèmes liens entre fichiers C et C++ dans un projet Visual C++ 6.0
nico
-
18 sept. 2001 à 11:55
ricky78
Messages postés126Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention11 juillet 2006
-
1 sept. 2004 à 15:57
J'ai récupéré un projet contenant des fichiers écrits en C. Le fichier "principal" de ce projet également écrit en C fait appel à des fonctions se trouvant dans les autres fichiers du projet.
Je dois ajouter à ce projet des fonctions d'impression. Les fonctions d'impression doivent, d'après le compilateur, être écrites dans en c++ (ce que j'ai fait). Ces fonctions d'impressions doivent être appelées à partir du fichier "principal" écrit en C.
Le problème: il ne trouve pas les fonctions d'impression du fichier C++ appelées à partir du fichier "principal" en C: "unresolved external symbol"
A voir également:
Problèmes liens entre fichiers C et C++ dans un projet Visual C++ 6.0
gedge
Messages postés3Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention17 août 2004 17 août 2004 à 13:57
Bonjour,
J'ai le même problème ou presque. J'ai des fonctions qui sont dans des fichiers .c et d'autres qui sotn dans des ficheirs .cpp.
Ces fonctions s'appellent les unes les autres. Mais ça ne marche pas :
ma_uti_com.obj : error LNK2001: unresolved external symbol _ora_connexion
J'ai essayé de rajouté un extern "C" (je sais pas trop à quoi ça sert mais j'ai vu ça sur certains messages du forum) et j'ai ensuite le message suivant.
ricky78
Messages postés126Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention11 juillet 2006 1 sept. 2004 à 15:57
Tu crée un fichier extern.h que tu mets dant tes header
Dans celui-ci du indique l'ensemble de tes variables c et c++ (celles qui vont être échangées) precédé du mot extern.
En dessous tu réécrit la definition de l'ensemble des fonctions du C avec les variables et le ";" exemple :
extern int axe;
void envoicom(unsigned char wrbuf);
Dans le fichier cpp ou tu vas devoir utiliser les fonctions c, tu y ajoute le #include "extern.h" et tu réécris les variables que tu as besoin sans le extern.