3 回答

TA貢獻1770條經驗 獲得超3個贊
它說您需要做的是為 linux-amd64 重建庫和運行時。你可以這樣做:
找到你的 Go 安裝的根目錄(如果你不知道它在哪里,運行
which go
可能會有所幫助 - 二進制文件通常與其他源代碼一起安裝)。cd
進入src
目錄運行
GOOS=linux GOARCH=amd64 ./make.bash --no-clean
(或者GOOS=linux GOARCH=amd64 bash make.bash --no-clean
如果make.bash
不可執行)。這將使用指定的操作系統和架構重建庫和運行時。
完成此操作后,您可以使用GOOS=linux GOARCH=amd64 go build
. 對于其他體系結構和操作系統,您可以遵循相同的說明。
編輯 (08/13/15):
從 Go 1.5 開始,交叉編譯要容易得多。由于運行時是用 Go 編寫的,因此無需進行任何設置即可交叉編譯。您現在可以GOOS=<os> GOARCH=<arch> go build
從 vanilla Go 安裝運行,它會起作用。
但是,有一個例外。如果您使用的是 cgo,您仍然需要提前設置。并且您需要通過將CGO_ENABLED
環境變量設置為1
. 所以,準確地說:
cd
進入src
你的 Go 安裝目錄(參見上面的說明)。跑
CGO_ENABLED=1 GOOS=<os> GOARCH=<arch> ./make.bash --no-clean
運行
CGO_ENABLED=1 go build
以構建您的項目。CGO_ENABLED=1
即使在編譯時指定也很重要。
- 3 回答
- 0 關注
- 218 瀏覽
添加回答
舉報