LINUX.ORG.RU

Кросс-компиляция в Go

 , , ,


0

2

Доброго времени суток. Никак не могу скомпилировать кросс-плотформенную программу в Go. Как это сделать? https://gist.github.com/KennyDalglish/66dd9b46a70a9109d62d Зарнее спасибо



Последнее исправление: cetjs2 (всего исправлений: 1)

А у тебя Go 1.4? GOOS и GOARCH вроде появились в Go 1.5. И потом, раньше ведь ты пытался использовать gccgo?

proud_anon ★★★★★
()

Начиная с 1.5 не надо больше собирать подноготную (go больше не зависит от c). Просто

env GOARCH=amd64 GOOS=windows go build

beastie ★★★★★
()
Ответ на: комментарий от continue

[continue@LenovoG780 form]$ go version go version go1.5.3 linux/amd64

continue
() автор топика
Ответ на: комментарий от continue

Т.к. тут замешан cgo, то это уже будет не так просто: Cgo is not Go.

https://medium.com/@rakyll/go-1-5-cross-compilation-488092ba44ec#.mgq7oxdvo

Так же в случае с GL, не помешало бы убедиться, что все зависимости присутствуют.

http://www.glfw.org/docs/latest/compile.html#compile_deps

В общем ты выбрал не самый лучший пример для кросс-компиляции.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Т.к. тут замешан cgo, то это уже будет не так просто

Почти так же просто, хотя и в зависимости от проекта. Мне вот удалось собрать gxui для win/386.

CC=i686-w64-mingw32-gcc CGO_ENABLED=1 GOOS=windows GOARCH=386 GOPATH=<-cut-> go install github.com/google/gxui/samples/progress_bar
Эх, жаль, что на этом gxui и накрылся. Такое впечатление, что т.к. гугл не участвует в производстве десктопов, то гуй для них не приветствуется. А вот с мобильными чуть лучше. И x/mobile немного напоминает кое-что их gxui. Вот только в x/mobile, кажись, есть только canvas, а самих виджетов (label, entry, button,..) - нет. А тут ещё и сама go-gl под вопросом из-за передачи Go-указателей в Си, что теперь no-go. И это только одно из как минимум двух дизайнерских решений недружественных к Си. Другое здесь. Да и затратность cgo-вызова всё растёт и растёт вместо того, чтобы падать, - похоже, у Go начинают резаться постоянные зубы.

gag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.