Начиная с версии go1.10 разрешен только безопасный список опций компилятора/компоновщика. Любые параметры за пределами этих должны быть включены в переменную среды, например. ubuntu#echo $CGO_LDFLAGS_ALLOW -Wl,-Bdynamic,--wrap=memcpy Дополнительная информация: https://github.com/golang/go/wiki/InvalidFlag
Внутри каталога foo у меня есть код, который импортирует пакет из другой панели каталогов. Этот каталог баров имеет некоторый код cgo, где объявлены флаги #cgo.
Из foo, когда я делаю «go build», он переходит в панель и выполняет «go build», который терпит неудачу, поскольку CGO_LDFLAGS_ALLOW не установлен в среде.
Я не хочу, чтобы вся моя команда явно устанавливала эту переменную env в своей среде. Есть ли способ установить переменную среды непосредственно перед "go build" в панели каталогов?
Я попытался установить переменную среды в Makefile foo, но проблема в том, что в подкаталогах есть много make файлов, которые могут попытаться построить bar. Я не хочу устанавливать переменную во всех make-файлах.