Cgo 中「64 位元模式未編譯」錯誤的根本原因
嘗試使用以下方式將C 程式碼整合到Go 程式中時Cgo,可能會出現錯誤訊息「64 位元模式未編譯」。這表明編譯時使用的 C 編譯器缺乏對 64 位元模式的支持,導致與 64 位元執行的 Go 建置發生衝突。
解決問題
要解決這個問題,就需要更新C編譯器。雖然 g 和 gcc 編譯器似乎已安裝,但調查版本相容性至關重要。
推薦編譯器版本:
-
適用於32 位元和64 位元Go 建置在64 位元Windows 作業系統上: tdm64 -gcc-5.1.0-2.exe
-
僅適用於64 位元Go 建置(不適用於64 位元作業系統上的32 位元目標): MinGW-w64 x64-4.8 .1-release-posix-seh-rev5
安裝與設定:
- 下載並安裝推薦的C 編譯器。
- 將編譯器的bin目錄加入PATH環境變數中,以允許從命令存取提示。
- 確保編譯器路徑的優先權高於 PATH 變數中任何潛在衝突的路徑。
其他注意事項:
-
使用「where gcc」指令:在指令中執行「where gcc」提示識別目前活動的gcc 版本。如果存在多個版本,請優先考慮所需版本或刪除衝突版本。
-
諮詢線上資源:請參閱諸如「簡單GDI 專案的Mingw-w64 和TDM-GCC 之間的差異」等資源」和「Orwell 的MinGW 和TDM Dev-C 版本有什麼區別?進一步澄清編譯器相容性。
透過實作這些步驟,開發人員可以解決「64 位元模式未編譯」錯誤,並成功將 C 程式碼整合到他們的 Go 程式中。
以上是為什麼我在使用 Cgo 時出現「64 位元模式未編譯」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!