編譯C 程式碼時出錯:未定義的符號
在macOS Lion 上編譯C 程式碼時,與未定義符號相關的錯誤表示編譯器正在執行將程式碼連結到C 標準函式庫(-lcrt1.10.6.o) 而不是C 標準函式庫(-lstdc .6.dylib).
原因:
此錯誤通常發生在使用C 前端(gcc)編譯C 程式碼時,導致錯誤連結對應的庫。
解決方案:
解決出現此錯誤,請使用 C 編譯器( g 或 clang )編譯程式碼。這些編譯器處理 C 語法並自動連結 C 標準函式庫,防止未定義的符號錯誤。
使用g 的範例:
$ g++ main.cpp -o main
使用範例clang :
$ clang++ main.cpp -o main
使用正確的編譯器編譯後,您不應該再遇到未定義的符號錯誤。 -v 標誌的輸出顯示連結器調用,可用於驗證是否連結了正確的標準函式庫。
以上是為什麼我的 C 程式碼在 macOS 上產生「未定義符號」錯誤,如何修復它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!