Heim >Backend-Entwicklung >C++ >Warum erhalte ich beim Kompilieren von C-Code mit GCC den Fehler „Undefiniertes Symbol \'___gxx_personality_v0\'\'?

Warum erhalte ich beim Kompilieren von C-Code mit GCC den Fehler „Undefiniertes Symbol \'___gxx_personality_v0\'\'?

Linda Hamilton
Linda HamiltonOriginal
2024-11-23 13:09:11671Durchsuche

Why Do I Get the

Undefiniertes Symbol „___gxx_personality_v0“ in GCC-Builds

Beim Kompilieren von C-Code mit der Befehlszeile gcc test.cpp kann der Fehler bei Entwicklern auftreten :

Undefined symbols:
  "___gxx_personality_v0", referenced from:
  etc...

Dieser Fehler tritt auf, weil gcc zum Kompilieren von C-Code gedacht ist. Um C-Code zu erstellen, verwenden Sie stattdessen den C-Compiler g:

g++ test.cpp

Alternativ, wenn gcc verwendet werden muss, fügen Sie das Flag -lstdc zur Befehlszeile hinzu:

gcc test.cpp -lstdc++

Dieses Flag verknüpft die Standard-C-Bibliothek, die die notwendigen Symbole enthält.

Ausführen von md5 auf die resultierenden ausführbaren Dateien (.a.out) von beiden g und gcc mit -lstdc liefert eine identische Ausgabe, was darauf hinweist, dass sie gleichwertig sind.

Aus Gründen der Einfachheit und Kompatibilität wird daher im Allgemeinen die Verwendung von g zum Kompilieren von C-Code empfohlen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Kompilieren von C-Code mit GCC den Fehler „Undefiniertes Symbol \'___gxx_personality_v0\'\'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn