-qstaticlink コンパイラー・オプションは、共用および非共用のランタイム・ライブラリーをアプリケーションにリンクする方法を制御する。 XL オプションを使用すると、単独または組み合わせで使用される、GNU オプション -static、 -static-libgcc、および -shared-libgcc によって暗黙指定されるものと同等のリンク規則を指定することができます。
.-nostaticlink-. >>- -q--+-staticlink---+--+-----------+------------------------>< '-=--libgcc-'
ここで、
nostaticlink libgcc.a によって静的にリンクしないように、コンパイラーに指示します。 staticlink このコンパイラー・オプションを有効にして生成されたオブジェクトは、静的ライブラリーにのみリンクされます。 libgcc このサブオプションが nostaticlink とともに指定されていると、コンパイラーは共用バージョンの libgcc にリンクします。
staticlink とともに指定されていると、コンパイラーは静的バージョンの libgcc にリンクします。
共用ライブラリーおよび非共用ライブラリーのための GNU サポートは、以下の表に示すオプションで制御されます。
オプション・マッピング: Linux リンカーの制御 | ||
GNU オプション | 意味 | XL オプション |
---|---|---|
-shared | 共用オブジェクトを作成する。 | -qmkshrobj |
-static | 静的オブジェクトを作成し、共用ライブラリーとのリンクを防止する。リンク先のライブラリーはすべて、静的ライブラリーでなければなりません。-shared とともに指定されたときは無視します。 | -qstaticlink |
-shared-libgcc | libgcc の共用バージョンを使用する。-static とともに指定されたときは無視します。 | -qnostaticlink=libgcc |
-static-libgcc | libgcc の静的バージョンを使用する。 | -qstaticlink=libgcc |