Je suis en train de construire ce symbole indéfini avec cette ligne de commande:
$ gcc test.cpp
Undefined symbols:
"___gxx_personality_v0", referenced from:
etc...
test.cpp est simple et devrait bien se construire. Quel est le deal?
Je suis en train de construire ce symbole indéfini avec cette ligne de commande:
$ gcc test.cpp
Undefined symbols:
"___gxx_personality_v0", referenced from:
etc...
test.cpp est simple et devrait bien se construire. Quel est le deal?
Utilisation
g++ test.cpp
au lieu de cela, puisque c’est du code c ++.
Ou, si vous voulez vraiment utiliser gcc
, ajoutez -lstdc++
à la ligne de commande, comme suit:
gcc test.cpp -lstdc++
L'exécution de md5
rapport aux a.out
produits dans chaque scénario indique qu'il s'agit du même résultat.
Mais, oui, g++
rend probablement votre monde plus simple.
l'extension .rpc causes gcc pour compiler votre fichier en tant que fichier c++.
Selon cette page, l'extension n'question: http://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Overall-Options.html#index-file-name-suffix-71
Essayez de compiler le même fichier mais avec l' .c
extension (ou sinon explicitement spécifier la langue avec -x c
). Si vous exécutez nm test.o
(d'où le test.o est le fichier de l'objet résultant de l'exécution de gcc -x c -c test.cpp -o test.o
) vous remarquerez que ___gxx_personality_v0
n'est pas répertorié comme un symbole, alors que, si vous exécutez la même commande sur un fichier de l'objet généré avec gcc -c test.cpp -o test.o
le ___gxx_personality_v0
est présent.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.