Problèmes liens entre fichiers C et C++ dans un projet Visual C++ 6.0

nico - 18 sept. 2001 à 11:55
ricky78 Messages postés 126 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 11 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"

4 réponses

Essaye Dev C++ pr voir :)
0
salut,

peux-tu m'envoyer le projet ? que je regar de plus prés.
chelguera@yahoo.fr

carlos
0
gedge Messages postés 3 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 17 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.

mora_lec.h(155) : error C2059: syntax error : 'string'

D'une manière générale, comment je dois faire pour qu'il n'y ai pas de problème entre mes fonctions c et mes fonctions c++ ?

Merci
0
ricky78 Messages postés 126 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 11 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.
0
Rejoignez-nous