首頁 >後端開發 >C++ >為什麼使用 GCC 編譯 C 程式碼時會出現「未定義符號 '___gxx_personality_v0'\」錯誤?

為什麼使用 GCC 編譯 C 程式碼時會出現「未定義符號 '___gxx_personality_v0'\」錯誤?

Linda Hamilton
Linda Hamilton原創
2024-11-23 13:09:11672瀏覽

Why Do I Get the

GCC Builds 中未定義符號「___gxx_personality_v0」

使用命令列 gcc test.cpp 編譯 C程式碼時,開發者可能會遇到錯誤:

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

出現此錯誤是因為 gcc 的目的是編譯C程式碼。要建立C 程式碼,請使用C 編譯器g:

g++ test.cpp

或者,如果必須使用gcc,請將-lstdc 標誌新增至命令列:

gcc test.cpp -lstdc++

此標誌連結標準C 庫,其中包含必要的符號。

對兩個 g 產生的可執行檔 (.a.out) 運行 md5和帶 -lstdc 的 gcc 產生相同的輸出,表示它們是等效的。

因此,通常建議使用 g 來編譯 C 程式碼,以實現簡單性和相容性。

以上是為什麼使用 GCC 編譯 C 程式碼時會出現「未定義符號 '___gxx_personality_v0'\」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn