Débutant en C++ sous linux (suse 8.2), je lance la commande:
" gcc -ototo test.cpp ".
Le fichier test.cpp contient:
#include <iostream>
int main()
{
printf "coucou\n";
return 0;
}
gcc affiche:
/tmp/ccZF5rVg.o(.text+0x46):
In function `__static_initialization_and_destruction_0':
/usr/include/g++/iostream:77:
référence indéfinie vers « std::ios_base::Init::Init[in-charge]()»
/tmp/ccZF5rVg.o(.text+0x75):
In function `__tcf_0':
/usr/include/g++/iostream:77:
référence indéfinie vers « std::ios_base::Init::~Init [in-charge]()»
/tmp/ccZF5rVg.o(.eh_frame+0x11):
In function `main':
/home/denray/Prog/CPP/Cours/test.cpp:21:
référence indéfinie vers « __gxx_personality_v0 »
collect2: ld returned 1 exit status
(note: si je met cout << "coucou" à la pace de printf
=> il ne connait pas cout)
dois-je paramétrer qqchose pour utiliser gcc ?
(gcc est la version 3.3.2)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc Bourguet
"DenRay" writes:
Débutant en C++ sous linux (suse 8.2), je lance la commande: " gcc -ototo test.cpp ".
g++ pour compiler du C++. Ca devrait etre dans la FAQ de gcc, si ce ne l'est pas deja.
Le fichier test.cpp contient:
#include <iostream>
int main() { printf "coucoun";
Es-tu sur que ca passe a la compilation. Il faut au moins des parentheses autour de "coucoun".
Et en C++,
std::cout << "coucoun";
return 0; }
(note: si je met cout << "coucou" à la pace de printf => il ne connait pas cout)
Depuis ca va faire bientot 5 ans (anniversaire ce mois si je ne me trompe pas) que cout se trouve dans le namespace std. Autre possibilites, mettre
using std::cout;
ou
using namespace std;
avant l'utilisation. De preference pas de maniere globale dans un en-tete.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
"DenRay" <denray@linux.local> writes:
Débutant en C++ sous linux (suse 8.2), je lance la commande:
" gcc -ototo test.cpp ".
g++ pour compiler du C++. Ca devrait etre dans la FAQ de gcc, si ce
ne l'est pas deja.
Le fichier test.cpp contient:
#include <iostream>
int main()
{
printf "coucoun";
Es-tu sur que ca passe a la compilation. Il faut au moins des
parentheses autour de "coucoun".
Et en C++,
std::cout << "coucoun";
return 0;
}
(note: si je met cout << "coucou" à la pace de printf
=> il ne connait pas cout)
Depuis ca va faire bientot 5 ans (anniversaire ce mois si je ne me
trompe pas) que cout se trouve dans le namespace std. Autre
possibilites, mettre
using std::cout;
ou
using namespace std;
avant l'utilisation. De preference pas de maniere globale dans un
en-tete.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Débutant en C++ sous linux (suse 8.2), je lance la commande: " gcc -ototo test.cpp ".
g++ pour compiler du C++. Ca devrait etre dans la FAQ de gcc, si ce ne l'est pas deja.
Le fichier test.cpp contient:
#include <iostream>
int main() { printf "coucoun";
Es-tu sur que ca passe a la compilation. Il faut au moins des parentheses autour de "coucoun".
Et en C++,
std::cout << "coucoun";
return 0; }
(note: si je met cout << "coucou" à la pace de printf => il ne connait pas cout)
Depuis ca va faire bientot 5 ans (anniversaire ce mois si je ne me trompe pas) que cout se trouve dans le namespace std. Autre possibilites, mettre
using std::cout;
ou
using namespace std;
avant l'utilisation. De preference pas de maniere globale dans un en-tete.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
un.gabacho.sans.pourrier
"DenRay" writes:
Bonjour à tous,
Débutant en C++ sous linux (suse 8.2), je lance la commande: " gcc -ototo test.cpp ".
Chez moi gcc compile le c, et g++ compile le c++. Et manifestement certaines de tes erreurs viennent de là.
Le fichier test.cpp contient:
#include <iostream>
int main() { printf "coucoun";
printf("coucoun");
return 0; }
Les fonctions C ou C++ prennent leur argument entre ().
Ça n'est pas tout : avec un compilateur récent il faut mettre un
using spacename std;
au début. Ou bien appeler ton cout avec un truc comme std::cout ...
salut et si tu mettais un .h derrière le iostream ...
Niamor
"DenRay" a écrit dans le message de news:
Bonjour à tous,
Débutant en C++ sous linux (suse 8.2), je lance la commande: " gcc -ototo test.cpp ".
Le fichier test.cpp contient:
#include <iostream>
int main() { printf "coucoun"; return 0; }
gcc affiche: /tmp/ccZF5rVg.o(.text+0x46): In function `__static_initialization_and_destruction_0': /usr/include/g++/iostream:77: référence indéfinie vers « std::ios_base::Init::Init[in-charge]()» /tmp/ccZF5rVg.o(.text+0x75): In function `__tcf_0': /usr/include/g++/iostream:77: référence indéfinie vers « std::ios_base::Init::~Init [in-charge]()» /tmp/ccZF5rVg.o(.eh_frame+0x11): In function `main': /home/denray/Prog/CPP/Cours/test.cpp:21: référence indéfinie vers « __gxx_personality_v0 » collect2: ld returned 1 exit status
(note: si je met cout << "coucou" à la pace de printf => il ne connait pas cout)
dois-je paramétrer qqchose pour utiliser gcc ? (gcc est la version 3.3.2)
Merci pour l'aide.
Denis
salut
et si tu mettais un .h derrière le iostream ...
Niamor
"DenRay" <denray@linux.local> a écrit dans le message de
news:pan.2003.11.04.15.56.31.516278@linux.local...
Bonjour à tous,
Débutant en C++ sous linux (suse 8.2), je lance la commande:
" gcc -ototo test.cpp ".
Le fichier test.cpp contient:
#include <iostream>
int main()
{
printf "coucoun";
return 0;
}
gcc affiche:
/tmp/ccZF5rVg.o(.text+0x46):
In function `__static_initialization_and_destruction_0':
/usr/include/g++/iostream:77:
référence indéfinie vers « std::ios_base::Init::Init[in-charge]()»
/tmp/ccZF5rVg.o(.text+0x75):
In function `__tcf_0':
/usr/include/g++/iostream:77:
référence indéfinie vers « std::ios_base::Init::~Init [in-charge]()»
/tmp/ccZF5rVg.o(.eh_frame+0x11):
In function `main':
/home/denray/Prog/CPP/Cours/test.cpp:21:
référence indéfinie vers « __gxx_personality_v0 »
collect2: ld returned 1 exit status
(note: si je met cout << "coucou" à la pace de printf
=> il ne connait pas cout)
dois-je paramétrer qqchose pour utiliser gcc ?
(gcc est la version 3.3.2)
salut et si tu mettais un .h derrière le iostream ...
Niamor
"DenRay" a écrit dans le message de news:
Bonjour à tous,
Débutant en C++ sous linux (suse 8.2), je lance la commande: " gcc -ototo test.cpp ".
Le fichier test.cpp contient:
#include <iostream>
int main() { printf "coucoun"; return 0; }
gcc affiche: /tmp/ccZF5rVg.o(.text+0x46): In function `__static_initialization_and_destruction_0': /usr/include/g++/iostream:77: référence indéfinie vers « std::ios_base::Init::Init[in-charge]()» /tmp/ccZF5rVg.o(.text+0x75): In function `__tcf_0': /usr/include/g++/iostream:77: référence indéfinie vers « std::ios_base::Init::~Init [in-charge]()» /tmp/ccZF5rVg.o(.eh_frame+0x11): In function `main': /home/denray/Prog/CPP/Cours/test.cpp:21: référence indéfinie vers « __gxx_personality_v0 » collect2: ld returned 1 exit status
(note: si je met cout << "coucou" à la pace de printf => il ne connait pas cout)
dois-je paramétrer qqchose pour utiliser gcc ? (gcc est la version 3.3.2)
Merci pour l'aide.
Denis
Fabien SK
Niamor wrote:
salut et si tu mettais un .h derrière le iostream ...
Niamor
Lis le message de Jean-Marc Bourguet là-dessus
Niamor wrote:
salut
et si tu mettais un .h derrière le iostream ...
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement certaines de tes erreurs viennent de là.
Manifestement pas.
Bien cordialement
Fred
Jean-Marc Bourguet
"Frédéric Mazué" writes:
Chez moi gcc compile le c, et g++ compile le c++.
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement certaines de tes erreurs viennent de là.
Manifestement pas.
g++ lie avec la bibliotheque C++, gcc non. Ses problemes de link proviennent vraissemblablement de la.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension
du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement
certaines de tes erreurs viennent de là.
Manifestement pas.
g++ lie avec la bibliotheque C++, gcc non. Ses problemes de link
proviennent vraissemblablement de la.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement certaines de tes erreurs viennent de là.
Manifestement pas.
g++ lie avec la bibliotheque C++, gcc non. Ses problemes de link proviennent vraissemblablement de la.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
un.gabacho.sans.pourrier
Jean-Marc Bourguet writes:
"Frédéric Mazué" writes:
Chez moi gcc compile le c, et g++ compile le c++.
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement certaines de tes erreurs viennent de là.
Manifestement pas.
g++ lie avec la bibliotheque C++, gcc non. Ses problemes de link proviennent vraissemblablement de la.
Oui.
D'ailleurs il me semble que la version francisée de son gcc est pas claire là-dessus. Chez moi si je compile avec gcc j'ai un message d'erreur qui provient clairement de ld ... Enfin, ça aide pas forcément à faire le diagnostic.
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension
du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement
certaines de tes erreurs viennent de là.
Manifestement pas.
g++ lie avec la bibliotheque C++, gcc non. Ses problemes de link
proviennent vraissemblablement de la.
Oui.
D'ailleurs il me semble que la version francisée de son gcc est pas
claire là-dessus. Chez moi si je compile avec gcc j'ai un message
d'erreur qui provient clairement de ld ... Enfin, ça aide pas
forcément à faire le diagnostic.
Chez moi gcc est un frontal qui invoque le bon compilateur selon l'extension du nom de fichier. Ainsi gcc "compile" c, cpp, java, fortran.
Et manifestement certaines de tes erreurs viennent de là.
Manifestement pas.
g++ lie avec la bibliotheque C++, gcc non. Ses problemes de link proviennent vraissemblablement de la.
Oui.
D'ailleurs il me semble que la version francisée de son gcc est pas claire là-dessus. Chez moi si je compile avec gcc j'ai un message d'erreur qui provient clairement de ld ... Enfin, ça aide pas forcément à faire le diagnostic.
DenRay
"DenRay" writes:
Bonjour à tous,
Débutant en C++ sous linux (suse 8.2), je lance la commande: " gcc -ototo test.cpp ".
Chez moi gcc compile le c, et g++ compile le c++. Et manifestement certaines de tes erreurs viennent de là.
Le fichier test.cpp contient:
#include <iostream>
int main() { printf "coucoun";
printf("coucoun");
return 0; }
Les fonctions C ou C++ prennent leur argument entre ().
Ça n'est pas tout : avec un compilateur récent il faut mettre un
using spacename std;
au début. Ou bien appeler ton cout avec un truc comme std::cout ...
C'est OK (mais pour l'instant je ne peux expliquer la différence entre - l'utilisation de iostream (sans .h) et g++ seul. - l'utilisation de iostream.h et g++ -Wno-deprecated j'approfondirai plus tard...)
Merci encore pour l'aide (Les parentheses du printf sont un oubli dans le mail précédent, sorry ;)
"DenRay" <denray@linux.local> writes:
Bonjour à tous,
Débutant en C++ sous linux (suse 8.2), je lance la commande:
" gcc -ototo test.cpp ".
Chez moi gcc compile le c, et g++ compile le c++. Et manifestement
certaines de tes erreurs viennent de là.
Le fichier test.cpp contient:
#include <iostream>
int main()
{
printf "coucoun";
printf("coucoun");
return 0;
}
Les fonctions C ou C++ prennent leur argument entre ().
Ça n'est pas tout : avec un compilateur récent il faut mettre un
using spacename std;
au début. Ou bien appeler ton cout avec un truc comme std::cout ...
C'est OK
(mais pour l'instant je ne peux expliquer
la différence entre
- l'utilisation de iostream (sans .h) et g++ seul.
- l'utilisation de iostream.h et g++ -Wno-deprecated
j'approfondirai plus tard...)
Merci encore pour l'aide
(Les parentheses du printf sont un oubli dans le mail précédent, sorry ;)
C'est OK (mais pour l'instant je ne peux expliquer la différence entre - l'utilisation de iostream (sans .h) et g++ seul. - l'utilisation de iostream.h et g++ -Wno-deprecated j'approfondirai plus tard...)
Merci encore pour l'aide (Les parentheses du printf sont un oubli dans le mail précédent, sorry ;)