Oracle® Solaris Studio 12.4: Fortran ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

3.4.5 –B{static|dynamic}

動的または静的ライブラリリンクを指定します。

-Bdynamic または static の間に空白文字を入れないでください。-B を省略すると、デフォルトとして -Bdynamic が使用されます。

  • –Bdynamic: 動的リンクを優先する (共有ライブラリのリンク)。

  • -Bstatic: 静的リンクをする必要がある (共有ライブラリなし)。

次の点にも注意してください。

  • static を指定した場合に動的ライブラリしか見つからないと、「library was not found」(ライブラリがありません) という警告メッセージが出力され、ライブラリのリンクは行われません。

  • dynamic を指定した場合に静的ライブラリしか見つからないと、その静的ライブラリとリンクされます。警告メッセージは表示されません。

コマンド行で、-Bstatic-Bdynamic を切り替えることができます。次のように、-Bstatic-Bdynamic をコマンド行で切り替えて、何回でもライブラリを静的および動的にリンクすることができます。

f95 prog.f -Bdynamic -lwells -Bstatic -lsurface

これらはローダーおよびリンカーのオプションです。コンパイルコマンドに -Bx オプションを指定してコンパイルとリンクを分けて行う場合は、リンク時にも -Bx オプションを指定する必要があります。

-Bdynamic-dn の両方をコマンド行に指定することはできません。-dn を指定すると動的ライブラリのリンクが行われなくなるためです。

64 ビットの Solaris 環境では、ほとんどのシステムライブラリが共有動的ライブラリとして単独使用できます。これらのシステムライブラリには、libm.so および libc.so があります。libm.alibc.a は提供していません。つまり、64 ビットの Solaris 環境で -Bstatic-dn を指定するとリンクエラーが発生する場合があります。この場合、アプリケーションを動的ライブラリとリンクさせる必要があります。

Fortran 実行時システムの静的ライブラリと動的ライブラリを組み合わせて使用することは推奨しません。リンカーエラーが発生したり、データが警告なしに破壊されたりする可能性があります。必ず、Fortran 実行時システムの最新の共有動的ライブラリとリンクさせてください。

静的ライブラリと動的ライブラリについての詳細は、『Fortran プログラミングガイド』を参照してください。