Heim >Backend-Entwicklung >C++ >Warum erhalte ich beim Erstellen von C-Code die Fehlermeldung „Undefiniertes Symbol ___gxx_personality_v0'?

Warum erhalte ich beim Erstellen von C-Code die Fehlermeldung „Undefiniertes Symbol ___gxx_personality_v0'?

Linda Hamilton
Linda HamiltonOriginal
2024-11-24 02:30:10252Durchsuche

Why Am I Getting the

Verknüpfungsfehler mit „Undefiniertes Symbol ___gxx_personality_v0“

Beim Erstellen von C-Code mit dem gcc-Compiler kann ein Fehler mit der Meldung „Undefiniertes Symbol“ auftreten ___gxx_personality_v0.“ Dies weist normalerweise darauf hin, dass Sie den falschen Compiler für die Sprache Ihres Codes verwenden.

Das Standardverhalten von gcc besteht darin, C-Code zu kompilieren. Für C-Code sollten Sie stattdessen den g-Compiler verwenden. Ersetzen Sie einfach gcc durch g in Ihrem Build-Befehl:

g++ test.cpp

Wenn Sie nach dem Wechsel zu g immer noch die Fehlermeldung erhalten, können Sie versuchen, das Flag -lstdc zu Ihrem Build-Befehl hinzuzufügen. Dieses Flag verknüpft die Standard-C-Bibliothek (STL), die die notwendigen Symbole für C-Code bereitstellt:

gcc test.cpp -lstdc++

Beachten Sie, dass die Verwendung von -lstdc bei Verwendung von g normalerweise nicht erforderlich ist, da die STL standardmäßig automatisch verknüpft wird. In einigen Fällen kann es jedoch erforderlich sein, wenn in der Konfiguration Ihres Systems die entsprechenden Bibliotheken fehlen.

Wie in der Lösung erwähnt, erzeugen beide Methoden (Verwendung von g oder gcc mit -lstdc ) die gleiche ausführbare Datei, wie überprüft durch Vergleich ihrer MD5-Hashes. Die Verwendung von g ist jedoch der empfohlene Ansatz für C-Code, da es den Build-Prozess vereinfacht.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen von C-Code die Fehlermeldung „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