Golang компиляции для всех платформ в Windows 7 (32 бит)
Я использую операционную систему windows 7 [32 бит].
Я строю пример программы go.
Я хочу скомпилировать эту программу для всех платформ из моей ОС windows 7 [32 бит].
Я хочу, чтобы скомпилировать свою программу для всех Linux [32/64] / Mac OSX [32/64] / Windows[32/64]
.
возможно ли, что это не из моей одной ОС ?
1 ответов
обновление Go 1.5: см."перекрестная компиляция только что получила намного лучше в Go 1.5"
для успешной кросс-компиляции вам понадобится
- компиляторы для целевой платформы, если они отличаются от вашей хост-платформы, т. е. вы находитесь на darwin/amd64 (6g) и хотите скомпилировать для linux/arm (5g).
- стандартная библиотека для целевой платформы, которая включала некоторые файлы, созданные в точке распространения Go выстроенный.
С планом перевода GO компилятор в Go подходит к осуществлению в выпуске 1.5 первая проблема теперь решена.
package main
import "fmt"
import "runtime"
func main() {
fmt.Printf("Hello %s/%s\n", runtime.GOOS, runtime.GOARCH)
}
сборка для darwin / 386
% env GOOS=darwin GOARCH=386 go build hello.go
# scp to darwin host
$ ./hello
Hello darwin/386
или построить для linux / arm
% env GOOS=linux GOARCH=arm GOARM=7 go build hello.go
# scp to linux host
$ ./hello
Hello linux/arm
оригинальный ответ (Go 1.4 и раньше)
можно попробовать такой инструмент, как gox
Gox-это простой инструмент без излишеств для компиляции Go cross, который ведет себя как стандартная сборка go.
Gox будет распараллеливать сборки для нескольких платформ.
Gox также построит для вас цепочку инструментов кросс-компиляции.перед использованием Gox необходимо создать цепочку инструментов кросс-компиляции. Гокс может сделать это за тебя. Это нужно сделать только один раз (или всякий раз, когда вы обновляете Go):
$ gox -build-toolchain
вы также найдете много кросс-платформенных советы по разработке на " разработка для нескольких платформ с Go".
Страстный Разработчик указывает ниже to выпуск 19, оставленную ОП Nakka Чандра, хотя выпуск 10 сообщается, что gox успешно работает в Windows.