3 回答

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

TA貢獻(xiàn)1871條經(jīng)驗 獲得超8個贊
你必須 cd %goroot%/src/,find make.bash
然后執(zhí)行 ./make.bash
執(zhí)行你的命令。嘗試一下!
- 3 回答
- 0 關(guān)注
- 211 瀏覽
添加回答
舉報