2016-03-29 10 views
0

ゴーラン1.6では、私の64ビットアーチから32ビットLinuxにクロスコンパイルするとき、go installコマンドは実行可能ファイルをbin/linux_386/<exe>に置きます。golang 1.6クロスコンパイル

代わりにbin/に入れる方法はありますか?私が32ビット環境で構築すると、それはbin/になります。 32ビットサンドボックスの中でネイティブにコンパイルするかどうかにかかわらず、exeを同じ場所に移動したいと思っています。

私の回避策はディレクトリを.にソフトにリンクすることです(ln -s . linux_386)。

+0

。 bin/linux_386ディレクトリにあると何が問題になりますか? – JimB

+0

私は実行可能ファイルをビルドする2つの方法があります。 32ビットサンドボックス内の1つは、32ビットバージョンのgoを使用します。サンドボックス外の1つはクロスコンパイルのgoの64ビット版を使用します。私は両方の実行可能ファイルを同じ場所に配置します。 –

答えて

1

あなたが持つただし、手動で行うことができ、インストール行くことができない:GoはPATHに互換性のないバイナリを置くことを避けるためにしようとしている

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

また、 '-i'オプションを追加すると、古い依存関係がインストールされます。基本的に' go install'の動作を与えます。 – JimB