Bon, pour une raison XYZ, j'ai besoin d'appeler g++ depuis un prog C++.
INFO : je suis sous g++ 4.1.2 sous ubuntu feisty
Ma première approche, débile et unsafe , était de faire :
int main() { // J'ecris un truc qui compile dans un .cpp ofstream file("toto.cpp" ); file << "#include <iostream>\n using namesapce std;\n int main()\n {\n cout << \"Hello from runtime compiled prog\" << endl;\n }"; file.close(); system("g++ toto.cpp -o toto -O3 -Wall" ); system("./toto" ); return 0; }
|
Rien de dantesque. Sauf que ... g++ me balance une erreur au link comme quoi y a pas de main dans mon programme :| Encore plus étrange, si je compile à la main toto.cpp depuis un terminal, ca marche :|
Même tarif avec popen() ....
Donc question : y a t il une erreur grossière que j'ai pas vu :| ?
ou y a t il un meilleur moyen de faire ça ?
PS : creer un Makefile avant et faire system("make" ) ca ne march epas mieux
Message édité par Joel F le 31-07-2007 à 15:03:38