enc.C contient un programe tout simple en c++, en gros il y a un
#include <iostream> et plus loin un
std::cout << i << std::endl;
le pb c'est que ca compile (avec un gcc -o toto enc.C, mais ensuite :
(....)
/tmp/ccGes4lc.o(.text+0x308): 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/ccGes4lc.o(.text+0x30d): 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/ccGes4lc.o(.text+0x36c): In function
`__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init()'
/tmp/ccGes4lc.o(.text+0x3bf): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccGes4lc.o(.eh_frame+0x11): undefined reference to
`__gxx_personality_v0'
collect2: ld returned 1 exit status
D'ou cela vient t'il ? Est-ce a cause d'une bibiloteque ? pourtant le
ld.so.conf semble correct...
Je precise que je suis sous gentoo amd64 et quand j'emerge des prog c++
(genre des trucs comme firebird ou mozilla), emerge y parvient sans
probleme.
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
Denis Beauregard
Le Tue, 07 Dec 2004 01:21:32 +0100, matlerouge écrivait dans fr.comp.os.linux.configuration:
Bonjour
J'ai un probleme :
enc.C contient un programe tout simple en c++, en gros il y a un #include <iostream> et plus loin un
std::cout << i << std::endl;
le pb c'est que ca compile (avec un gcc -o toto enc.C, mais ensuite :
Essaie avec g++.
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc. Il semble que les librairies soient différentes.
Denis
Le Tue, 07 Dec 2004 01:21:32 +0100, matlerouge
<matlerougeNOSPAM@laposte.net> écrivait dans
fr.comp.os.linux.configuration:
Bonjour
J'ai un probleme :
enc.C contient un programe tout simple en c++, en gros il y a un
#include <iostream> et plus loin un
std::cout << i << std::endl;
le pb c'est que ca compile (avec un gcc -o toto enc.C, mais ensuite :
Essaie avec g++.
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus
et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc.
Il semble que les librairies soient différentes.
Le Tue, 07 Dec 2004 01:21:32 +0100, matlerouge écrivait dans fr.comp.os.linux.configuration:
Bonjour
J'ai un probleme :
enc.C contient un programe tout simple en c++, en gros il y a un #include <iostream> et plus loin un
std::cout << i << std::endl;
le pb c'est que ca compile (avec un gcc -o toto enc.C, mais ensuite :
Essaie avec g++.
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc. Il semble que les librairies soient différentes.
Denis
Nicolas George
Denis Beauregard wrote in message :
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc. Il semble que les librairies soient différentes.
Les options passées par gcc et g++ à ld sont différentes : essentiellement, g++ rajouter -lstdc++, ce qui explique immédiatement la différence.
Denis Beauregard wrote in message
<0rr9r09fnkl7vf85ub72s6rkhddgj0jcso@4ax.com>:
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus
et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc.
Il semble que les librairies soient différentes.
Les options passées par gcc et g++ à ld sont différentes : essentiellement,
g++ rajouter -lstdc++, ce qui explique immédiatement la différence.
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc. Il semble que les librairies soient différentes.
Les options passées par gcc et g++ à ld sont différentes : essentiellement, g++ rajouter -lstdc++, ce qui explique immédiatement la différence.
no_spam
On Mon, 06 Dec 2004 23:53:38 +0000, Nicolas George wrote:
Denis Beauregard wrote in message :
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc. Il semble que les librairies soient différentes.
Les options passées par gcc et g++ à ld sont différentes : essentiellement, g++ rajouter -lstdc++, ce qui explique immédiatement la différence.
J'ajouterai qu'il vaut mieux continuer à se servir de gcc pour tout car il se débrouille pour passer les bonnes options à g++ quand il l'appelle. En appellant g++ directement, il y a 90% de chances que les options passées ne correspondent pas aux specs de gcc et qu'au final le code généré soit suboptimal. Donc la solution gcc ... -lstdc++ est de loin la meilleure.
On Mon, 06 Dec 2004 23:53:38 +0000, Nicolas George wrote:
Denis Beauregard wrote in message
<0rr9r09fnkl7vf85ub72s6rkhddgj0jcso@4ax.com>:
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus
et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc.
Il semble que les librairies soient différentes.
Les options passées par gcc et g++ à ld sont différentes : essentiellement,
g++ rajouter -lstdc++, ce qui explique immédiatement la différence.
J'ajouterai qu'il vaut mieux continuer à se servir de gcc pour tout car
il se débrouille pour passer les bonnes options à g++ quand il l'appelle.
En appellant g++ directement, il y a 90% de chances que les options
passées ne correspondent pas aux specs de gcc et qu'au final le code
généré soit suboptimal.
Donc la solution gcc ... -lstdc++ est de loin la meilleure.
On Mon, 06 Dec 2004 23:53:38 +0000, Nicolas George wrote:
Denis Beauregard wrote in message :
Quand j'ai changé d'hébergeur, un vieux cgi ne compilait plus et en fouillant un peu, on suggérait de passer à g++ au lieu de gcc. Il semble que les librairies soient différentes.
Les options passées par gcc et g++ à ld sont différentes : essentiellement, g++ rajouter -lstdc++, ce qui explique immédiatement la différence.
J'ajouterai qu'il vaut mieux continuer à se servir de gcc pour tout car il se débrouille pour passer les bonnes options à g++ quand il l'appelle. En appellant g++ directement, il y a 90% de chances que les options passées ne correspondent pas aux specs de gcc et qu'au final le code généré soit suboptimal. Donc la solution gcc ... -lstdc++ est de loin la meilleure.