リンク

ここでは、ツールやライブラリとのリンクを制御、カスタマイズするオプション、および ld リンカへの出力を定義するオプションについて説明します。リンカに関する詳細は、ld man ページを参照してください。

オプション 説明
-Ldirectory directory で指定したディレクトリを検索してライブラリを探すようリンカに命令します。
-Qoption,tool,list 一連のコンパイル処理の中で、アセンブラやリンカなど別のプログラムに引数リストを渡します。
-shared このリンカ・オプションは、実行ファイルの代わりに、動的共用オブジェクト (DSO) をビルドするようコンパイラに命令します。
-shared-libcxa -shared-libcxa は、-static-libcxa と逆の効果が得られます。このオプションが使用されると、インテルが提供する libcxa C++ ライブラリが動的にリンクされ、-static オプションが使用された場合の静的リンクを無効にします。注: デフォルトでは、すべての C++ 標準およびサポート・ライブラリは動的にリンクされます。
-i_dynamic インテルが提供するライブラリをすべて動的にリンクします。
-static ライブラリをすべて静的にリンクします。
-static を使用していない場合:
  • /lib/ld-linux.so.2 がリンクされます。
  • その他のすべてのライブラリは動的にリンクされます。
-static を使用している場合:
  • /lib/ld-linux.so.2 はリンクされません。
  • その他のすべてのライブラリは静的にリンクされます。
-static-libcxa デフォルトでは、インテルが提供する libcxa C++ ライブラリは動的にリンクされます。標準ライブラリをデフォルト設定のままでリンクしながら、libcxa を静的にリンクするには、コマンドラインで -static-libcxa を使用します。
-Bstatic このオプションは、リンカのコマンドライン中で指定されます。このオプションは、コマンドラインから渡されたライブラリの動作を制御するために使用されます。
-Bdynamic このオプションは、リンカのコマンドライン中で指定されます。このオプションは、コマンドラインから渡されたライブラリの動作を制御するために使用されます。

リンクを行わない設定にする

リンクを行わない設定にするには、-cオプションを使用します。例えば、次のコマンドは file.ofile2.o という 2 つのオブジェクト・ファイルを生成します。

prompt>icpc -c file1.cpp file2.cpp

上記のコマンドを実行しても、これらのファイルはリンクされません。