多くの競合情報がありますが、いくつかの説明が必要です。 ビルド、ホストとターゲットクロスコンパイルの用語---ビルド、ホスト、ターゲット
ビルドが知っている3人のシステム名があります:あなたが構築しているマシン(ビルド)、あなたは(ホスト)のために構築しているマシンは、とGCCがコードを生成するマシン(ターゲット)。 GCCを設定するときは、--build =、--host =、--target =で指定します。
実は、私は上記の定義におけるホストとターゲットの間にどのような違いを理解していません。
いくつかの他のページは
「ホスト」は、あなたがコードをコンパイルするために使用しているマシン(またはアーキテクチャ、またはプラットフォーム)であると言います。 'target'は、コードを実行するマシン(またはアーキテクチャ、またはプラットフォーム)です。
これは私には理にかなっているが、この説明では、ホストは常にビルドと同じです??私はかなり混乱しています。
私の場合、 コンパイラ(GCC)がx86_64マシン上で実行され、バイナリ実行ファイルがARM上で実行されるように設定しています。プログラムはCで書かれているので、コンパイラはGCCです。
./configure --build=x86_64 --host=x86_64 --target=arm-linux-gnueabihf
make
make install
ビルド、ホストはx86_64版とターゲットの両方がアームであるように聞こえます。あれは正しいですか?
私はJenkinsマシン(x86_64)で動作する独自の組み込みプログラムをコンパイルしています。組み込みプログラムはARMベースのマシン上で動作します。
どのような正確なプログラムをコンパイルしていますか?いくつかのクロスコンパイラ版の[GCC](http://gcc.gnu.org/)、あるいは既に入手可能な 'gcc'バイナリを持つ独自のプログラムですか?いくつかのソースをあなたの質問に表示して、あなたが使っている正確なコンパイルコマンドを表示してください(そして実行中のコンピュータについて説明してください)。あなたのシステムについて教えてください(ホスト、ビルドマシン、ターゲットマシンとは何ですか?)。 **あなたの質問を**編集してください。現在は混乱しています。 –
編集しても、あなたの質問は不明です。「コンパイラのように設定しています」とはどういう意味ですか?*設定されているものは何ですか?* **あなたの質問をさらに**改善してください**。 *正確なコマンドを入力する*。実行しているコンピュータについて説明します。 **どのコンパイラを使用しますか?** *と* **どのように使用しますか?** –
明らかに、英語は母国語ではありません(どちらも私にとってはフランス語です)。あなたの言葉遣いを改善し(たぶんいくつかの辞書の助けを借りて)、あなたが使っている*正確なコマンド*を与えてください。 IMHO「コンパイラがx86_64マシン上で実行され、バイナリ実行可能ファイルがARM上で実行されるように設定しています」という文章は意味をなさない(あなたが何をどのように構成しているかを伝えていない)。英語はあなたには簡単ではないことを考えると、あなたの質問にはより多くの情報と冗長性を追加する必要があります。 –