Eclipseで新しいC++プロジェクトを作成しているときに、ツールチェーンについて質問されます。
これらのツールチェーンの実際的な違いは何ですか-Cross GCC
およびLinux GCC
。どのような状況でそれらを使用しますか?プロジェクトがLinuxマシンとWindowsマシンの両方でコンパイルされるかどうかに関係がありますか?
答えの1つ では、次のように読むことができます。
一般に、クロスコンパイラーは、ユーザーのシステムとは異なる種類のシステム用のコードを生成するコンパイラーです。
自分のメイクファイルを使用してターゲットマシンでプロジェクトをコンパイルする場合、ここでどのオプションを選択してもかまいません。
クロスコンパイラ ウィキペディアの記事は非常に優れています。一般に、クロスコンパイラーは、ユーザーのシステムとは異なる種類のシステム用のコードを生成するコンパイラーです。通常、これは別のターゲットハードウェアアーキテクチャを意味しますが、別のターゲットオペレーティングシステム(またはその両方)を意味することもあります。
理論的には、これらを組み合わせて、アーキテクチャAでクロスコンパイラを使用できます。1 およびオペレーティングシステムS1 アーキテクチャAで実行されるクロスコンパイラを構築する2 オペレーティングシステムS2 オペレーティングシステムSのコードを生成します3 アーキテクチャA3。
Ulrichがコメントで述べているように、Linux GCCは「ネイティブ」コンパイラー(つまり、同じターゲット)である必要があります。