Bonjour à tous. J´essaye depuis une heure de compiler un hello world c++ avec gcc, chose que j´ai très bien réussi à faire avec devc++ ou xlC...
Voici le contenu du fichier test.C que je veux compiler :
int main()
{
cout < < " Hello world" < < endl ;
}
Et voici maintenant ce que cette merde de gcc m´affiche sur la sortie standard d´erreur :
Dans le fichier inclus à partir de / usr/include/c++/3.3/backward/iostream.h:31,
à partir de test.C:1:
/usr/include/c++/3.3/backward/backward_warning.h:3
2:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the < X> header for the < X.h> header for C++ includes, or < sstream> instead of the deprecated header < strstream.h>. To disable this warning use -Wno-deprecated.
/ tmp/ccT5iZAJ.o(.text+0x1b): In function `main´:
: undefined reference to `std::cout´
/ tmp/ccT5iZAJ.o(.text+0x20): In function `main´:
: undefined reference to `std::basic_ostream<char, std::char_traits<char> > & std::operator<< < std::char_traits<char> > ( std::basic_ostream<char, std::char_traits<char> > &, char const*)´
/ tmp/ccT5iZAJ.o(.text+0x28): In function `main´:
: undefined reference to `std::basic_ostream<char, std::char_traits<char> > & std::endl<char, std::char_traits<char> > ( std::basic_ostream<char, std::char_traits<char> > &)´
/ tmp/ccT5iZAJ.o(.text+0x30): In function `main´:
: undefined reference to `std::basic_ostream<char, std::char_traits<char> > ::operator<<(std::basic_ostream<char, std::char_traits<char> > & ( *)(std::basic_ostream<char, std::char_traits<char> > &))´
/ tmp/ccT5iZAJ.o(.text+0x59): In function `__static_initialization_and_destruction_0(int, int)´:
: undefined reference to `std::ios_base::Init::Init[in-charge]()´
/ tmp/ccT5iZAJ.o(.text+0x8a): In function `__tcf_0´:
: undefined reference to `std::ios_base::Init::~Init [in-charge]()´
/ tmp/ccT5iZAJ.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0´
collect2: ld a retourné 1 code d´état d´exécution
Remarque : je suis sous knoppix. J´ai réussi à compiler du c
T´as utilisé g++ ? Paske chez moi ça fonctionne très bien ( je dis ça sans avoir testé le endl mais je pense que c´est une constante définie dans iostream)
$ g++ foo.cpp -o foo
$ . /foo
Hello world
$
A propos de " cette merde de gcc" :
- GCC ne s´occupe pas du C++
- C´est pas lui qui renvoie les erreurs, t´as qu´à les lire, c´est " ld" qui arrive pas à lier les fichiers objets
- Si GCC était une merde il serait pas utilisé universellement.
j´avoue excuse moi de m´être emporté... De toute façon jai trouvé que ca venait des standardisations...
Je vais essayer avec g++ pou voir.
Merci
J´ai vu ton post sur le forum Linux, je pense pas, j´ai essayé dernièrement et vraiment ça marchait sans rien déclarer à propos de cout.
Et je me suis un peu emporté aussi ( y´a des valeurs qu´il ne faut pas attaquer quand meume)
pourquoi foo ?
pourquoi pas ?
" 2:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the < X> header for the < X.h> header for C++ includes, or < sstream> instead of the deprecated header < strstream.h>. To disable this warning use -Wno-deprecated."
T´es long à la détente, fais #include < iostream>.
" pourquoi pas ? "
j´en était sûr ! mais c´est juste parce que les linuxiens sont totalement dépourvu d´imagination et ne peuvent pas inventer d´aure nom ?
j´imagine bien mon dossier essai qui contient : EssaiWinDlgBox, EssaiModalForm, EssaiHightPresConter, etc.
sur le PC d´un linuxien ça doit resembler à ça : foo1, foo2, foo3, etc.
l´avantage, c´est que c´est facile de trouver le nom d´après, le désaventage, c´est qu´a ce prix là, ça ne sers à rien de suavegarder un projet car tu ne le retrouvera jamais. bon, c´était le preuve ultime qu´il vaut mieux utiliser windows que Linux !
( démonstration pas mal hein ? )
" T´es long à la détente, fais #include < iostream>."
et rajoutte aussi
using namespace std;
dans ce cas là.
dnob700
jolie démo ![]()
dnob, tu viens de démontrer que tu étais une merde ![]()
j´avoue que c´est avec ce genre d´argument que tu vas remonter l´honneur des linuxiens.
ça ne répond pas à la question : pourquoi foo ?
mais bon, peut-être qu´il n´y a pas de réponse, que les linuxiens ont l´esprit encore plus formatté qu´une disquette 2HD vierge et ne peuvent que recopier un symbole dont ils ont perdu la signification il y a bien longtemps...
Tu sais, j´ai jamais nommé un fichier " foo.*"...
C´est vraiment de la pure provocation gratuite. Et si je te dit que j´utilise un *BSD ? erks
Retournes faire mumuse avec visual basic.
ah c´est super les gars, vous avez l´air encore plus intelligent maintenant
juste pour l´information, Foo et Bar sont des noms qu´on a tendance à donner pour des exemples anglophones, comme on trouve Toto et Titi pour des exemples francophones. Bien sur, c´est complétement débile, mais c´est généralement utilisé de la sorte.
Donc pas la peine de vous taper dessus à coup de linux ou de VB qui n´ont rien à voir avec tout ça,...
oué LGV, mais là c´est juste une guerre personelle, évidemment qu´il n´y a aucun rapport c´est plus subtil que ça
mais non justement, je demande juste d´où vient le mot foo ( ce a quoi lgv m´a maintenant répondu, même si depuis j´ai pu trouver des réponse plus complète : http://www.englishforums.com/ShowPost.aspx?PostID=25785 )
il n´y avait aucun argument linux/windows c/vb dans ma question.
bon, après, si il y en a qui n´ont pas d´humour... ( à prendre au 8ième degré hein ! ( et ça aussi ( là, je viens de rentrer dans un boucle infinie))).
" sur le PC d´un linuxien ça doit resembler à ça : foo1, foo2, foo3, etc. "
=> J´ai bien une 60taine de fichiers dans mon répertoire utilisateurs, y´a qu´une dixaine de foo ( un par langage testé généralement).
Et je te signale que les API que j´utilise m´obligent pas à faire pleins de fichiers exemples parce qu´elles sont assez claires pour être retenues immédiatement ( Win32 pawoua).
Et c´était pas malin pour les autres de s´énerver pour ça, si on peut plus débattre inutilement devant un con de CPPien Windozien qui passe trois heures à comprendre sa fonction WinMain quand il laisse tomber deux mois son code, où va ton.
Et puis franchement c´est débile de m´engueuler comme ça alors qu´y´a carrèment toute une obscure partie de mon OS qui s´appelle " foomatic". Adresse toi à Mandrake.