utiliser le langage C dans des fichiers cpp - C++ - Programmation
Marsh Posté le 03-02-2011 à 16:18:03
J'ai utilisé la méthode qui est expliquée ici : http://www.developpez.net/forums/d [...] ost5755120 pour voir un peu comment ca marche.
j'ai utilisé juste les trois premières fonctions citées dedans, car ce qu'il me faut pour l'instant c'est utiliser des fonctions C dans un fichier C++.
j'ai compilé le fichier C d'abord, puis j'ai compilé le tout avec g++. Voici le resultat :
Code :
|
Apparemment il n'a pas trouvé FonctionsC.o ...
Voici les codes :
main.cpp :
Code :
|
FonctionsC.h :
Code :
|
FonctionsC.c
Code :
|
Est ce que c'est comme ça qu'on compile ? Je ne sais pas d'où vient le problème.
Marsh Posté le 03-02-2011 à 19:17:47
Citation : moi@moi-G73Jh:~/C_CPP$ g++ -Wall -o main main.cpp |
Les fonctions C (qui je suppose sont dans un fichier indépendant), le linker il en a connaissance comment? Il lit directement ou les trouver dans l'esprit du développeur par télépathie quantique?
A+,
Marsh Posté le 03-02-2011 à 23:22:55
justement je ne sais pas comment lui indiquer comment recuperer les fonctions C.
je pensais qu'il lit par défaut dans le repertoire courant
D'ou ma question "Est ce que c'est comme ça qu'on compile ?"
Marsh Posté le 04-02-2011 à 01:31:44
Citation : je pensais qu'il lit par défaut dans le repertoire courant |
Ben non, un compilo c'est bête, faut lui faire compiler tous les fichiers accessoires avant, et quand on veut lui faire compiler l’exécutable final, il faut lui indiquer le nom des fichiers accessoires compilés. Il cherche pas tout seul les fichiers dans le répertoire courant, car il sait pas leur noms.
Dans ton cas, ce devrait être un truc du genre
oi@moi-G73Jh:~/C_CPP$ g++ -Wall -o main main.cpp FilesC.o
A+,
Marsh Posté le 03-02-2011 à 00:52:11
Bonjour,
Je dois implémenter OpenSSL qui est écrit en C dans un stack non sécurisé écrit en C++. J'aimerais savoir comment dois-je faire pour cela. Je suis ( un faux ) débutant en C++ ( j'ai fait pas mal de C et de Java ).
Merci d'avance pour votre aide.