Я пытаюсь согласовать, почему make.bash принимает GOARCH, GOOS и другие целевые переменные, когда он также поддерживает кросс-компиляцию для всех поддерживаемых архитектур по умолчанию .Я собираю это для amd64 / linux, но буду использовать компилятор для кросс-компиляции приложений для arm / linux во встроенном контексте.Сборки Buildroot Перейдите с помощью следующей команды
cd /builddir/build/host-go-1.10.2/src &&
GOROOT_BOOTSTRAP=/builddir/host/lib/go-1.4.3
GOROOT_FINAL=/builddir/host/lib/go
GOROOT="/builddir/build/host-go-1.10.2"
GOBIN="/builddir/build/host-go-1.10.2/bin"
GOARCH=arm
GOARM=7
GOOS=linux
CC=/usr/bin/gcc
CXX=/usr/bin/g++
GO_ASSUME_CROSSCOMPILING=1
CC_FOR_TARGET="/builddir/host/bin/arm-linux-gnueabihf-gcc"
CXX_FOR_TARGET="/builddir/host/bin/arm-linux-gnueabihf-g++"
CGO_ENABLED=1
./make.bash
, которая отлично работает и продолжает создавать другие приложения.Мой вопрос: почему эти целевые переменные актуальны на данном этапе?Разве это не относится только к приложениям, компилируемым с помощью этой программы?