首頁 >後端開發 >Golang >為什麼在 Cygwin64 上編譯 cgo 函式庫時找不到 `-lmingw32`?

為什麼在 Cygwin64 上編譯 cgo 函式庫時找不到 `-lmingw32`?

Patricia Arquette
Patricia Arquette原創
2024-12-05 04:15:17519瀏覽

Why Can't I Find `-lmingw32` When Compiling cgo Libraries on Cygwin64?

解決在Cygwin64 上編譯Cgo 函式庫時出現「ld: 找不到-lmingw32」錯誤

嘗試編譯時遇到錯誤「ld: 找不到- lmingw32” Cygwin64 上的cgo 函式庫可能會令人沮喪。然而,存在一個簡單的解決方案。

儘管在 Cygwin64 中安裝了所有「開發」包,但「mingwex」和「mingw32」等庫可能無法隨時使用。這是因為這些庫未包含在 64 位元系統的 Cygwin 軟體包儲存庫中。

解決問題

不要依賴 Cygwin,請考慮下載並安裝 TDM MinGW-w64來自其官方網站。此替代編譯器套件提供了在 Windows 上編譯 cgo 函式庫所需的函式庫。

解決錯誤的步驟:

  1. 下載並安裝 TDM MinGW-w64。
  2. 設定係統 PATH 環境變數以包含 MinGW gcc 執行檔的路徑,通常位於C:TDM-GCC-64bin。
  3. 使用更新的 PATH 重新嘗試編譯 cgo 函式庫。

替代解決方案:

如上所述在問題詳細資訊中,使用「go install」指令應該消除在建置過程中對gcc 的需要。然而,一些用戶報告即使使用“go install”也會遇到相同的錯誤訊息。在這種情況下,上面提供的解決方案仍然有效。

透過使用 TDM MinGW-w64,您可以在 Cygwin64 上成功編譯 cgo 函式庫,並避免「ld: 找不到 -lmingw32」錯誤。

以上是為什麼在 Cygwin64 上編譯 cgo 函式庫時找不到 `-lmingw32`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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