2016-03-29 2 views
0

В golang 1.6, когда я перекрещиваюсь от своей 64-битной дуги до 32-бит для Linux, команда go install помещает исполняемый файл в bin/linux_386/<exe>.golang 1.6 cross compile

Есть ли способ разместить его в bin/? Если я построю 32-битную среду, то она войдет в bin/. Я хочу, чтобы exe попал в одно и то же место, независимо от того, перекрещиваю ли я компиляцию с 32-битным вне песочницы или изначально компилируюсь внутри 32-битной песочницы.

Моим обходным решением сейчас является софт ссылка linux_386 репродукция на ., как в ln -s . linux_386.

+0

Go пытается избежать ввода несовместимых двоичных файлов в вашем PATH. Что случилось с его использованием в каталоге bin/linux_386? – JimB

+0

У меня есть два способа создания исполняемого файла. Внутри 32-битной песочницы используется 32-битная версия go. Один за пределами песочницы использует 64-битную версию go, которая перекрестно компилируется. Я хочу, чтобы оба исполняемого файла были в одном месте. –

ответ

1

Вы не можете с пойти установить, однако вы можете сделать это вручную:

go build -o $GOPATH/bin/<exe> $GOPATH/src/your/<pkg> 
+0

Также добавление опции '-i' будет устанавливать устаревшие зависимости, в основном предоставляя вам поведение' go install' – JimB