リンカーにオプションを渡す

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

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