Le C et le C++

devil2407 Messages postés 23 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 12 janvier 2011 - 24 août 2008 à 15:05
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 24 août 2008 à 19:49
Bonjour à tous. J'ai réalisé une interface en C++ avec Qt... et j'ai des fonctions qui sont dans des fichiers en C
J'aurais voulu savoir si quelqu'un sait ici comment inclure ces fichiers C dans mon interface et comment y faire appel... lors de la compilation j'ai des erreurs. Il n'arrive pas à détecter les fonctions C, de plus toute mes variables globales sont undeclared alors qu'elles le sont :s

Merci bcp ^^

3 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
24 août 2008 à 15:36
Salut,
Premierement tu doit ajouter tes fichiers .c a ton projet ensuite tu creer un
header .h ou tu declarera toute les fonctions contenues dans tes fichier .c
tu n'auras plus qu'a rajouter #include "TonHeader.h" tout en haut de ton code.

Neo_Fr
0
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
24 août 2008 à 16:21
Salut,
Je pense qu'un include du fichier.c fait l'affaire ...
mais je ne cache pas que ce n'est peux être pas la solution la plus propre...

Cordialement,
Sébastien.
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
24 août 2008 à 19:49
Salut,

Ca peut être utile de rajouter un extern "C" autour des inclusions des headers dans les .cpp.
extern "C" {#include "header.h"}

De manière a indiqué que les fonction ont pas de déco.

Après éssai il semblerait que g++ (Sous XP) ne compile pas :

char * a;
a = malloc(12);

Dans un fichier pourtant d'extension .c.

Par contre, on peut indiqué que le fichier est en c avec l'option -x :

g++ -x c test.c -o test

Ou bien sûr utiliser gcc en plus de g++.

Le tout est de faire le Makefile ou d'indiquer à l'IDE de s'adapter à l'extension.
0
Rejoignez-nous