インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
コンパイラーから呼び出される GNU* ユーティリティーの名前に追加するプリフィクスを指定します。
Linux*: | -gnu-prefix=prefix |
macOS*: | なし |
Windows*: | なし |
prefix |
コンパイラーから呼び出される GNU* ツールの名前の前に追加する文字列。値は特定のオペレーティング・システムで使用される GNU* ツールチェーンに依存します。例えば、Wind River* Linux* 6.x の場合、prefix 値は x86_64-wrs-linux- になります。ツールチェーンのプリフィクスがハイフンで終わる場合のみ、prefix にハイフンを追加する必要があります。 ショート名またはパス名を指定することができます。
|
オフ |
コンパイラーは、GNU* ユーティリティーをショート名で呼び出し、PATH 環境変数で指定されたパスを検索します。 |
このオプションは、コンパイラーから呼び出される GNU* ユーティリティーの名前に追加するプリフィクスを指定します。このオプションは、Linux* 向けのコンパイラーで利用できます。ホストは、Windows* でも Linux* でもかまいません。
-gnu-prefix オプションと -gcc-name (または -gxx-name) オプションを一緒に指定すると、次のような動作になります。
-gcc-name (または -gxx-name) で指定された名前にバイナリーのフルパスが含まれている場合、-gnu-prefix オプションは指定された名前には影響しません。ほかの binutils には指定されたプリフィクスが追加されます。
そうでない場合、-gnu-prefix オプションは -gcc-name (または -gxx-name) で指定された名前に適用されます。
上記のアプローチにより、デフォルトのツールチェーン以外の gcc 名を指定することができます。同時に、-gcc-name オプションでショート名が指定されると、デフォルトのツールチェーンの一部と見なされ、プリフィクスが追加されます。
-gnu-prefix オプションを使用する代わりに、GNU* ユーティリティーのショート名へのシンボリック・リンクを作成し、PATH に追加することができます。例: ld--> i686-wrs-linux-gnu-ld。
このオプションは、Windows* ホストで Windows* ターゲット向けにコンパイルするネイティブ・コンパイラーではサポートされていませんが、Windows* ホストで Linux* ターゲット向けにコンパイルするコンパイラーではサポートされています。
なし
Wind River* Linux* 6 向けアプリケーションを生成するため、コンパイラーをセットアップする場合について考えてみます。
ターゲット・オペレーティング・システム用の GNU* クロスツールチェーンは、次のディレクトリーにあります。
/WRL/60/x86_64-linux/usr/bin/x86_64-wrs-linux
ツールチェーンに含まれる GNU* ユーティリティー名は prefixx86_64-wrs-linux- です。
ターゲット・オペレーティング・システムの sysroot は、次のディレクトリーです。
/WRL/60/qemux86-64
Wind River* Linux* 6 向けアプリケーションをコンパイルするには、次のコマンドを実行する必要があります。
export PATH=/WRL/60/x86_64-linux/usr/bin/x86_64-wrs-linux:PATH icc --sysroot/WRL/60/qemux86-64 -gnu-prefix=x86_64-wrs-linux- app.c
次の例は、-gcc-name と -gnu-prefix を一緒に指定しています。
例 1:
コマンドライン: -gcc-name=foobar -gnu-prefix=em64t- コンパイラーで使用される実際の GCC 名: em64t-foobar icc で使用される ld 名: em64t-ld
例 2:
コマンドライン: -gcc-name=/a/b/foobar -gnu-prefix=em64t- コンパイラーで使用される実際の GCC 名: /a/b/foobar icc で使用される ld 名: em64t-ld