38.1.6 ライブラリの検索
インポート宣言された名前以外の外部参照が,指定したオブジェクトファイルだけでは解決できない場合,ライブラリが検索されます。検索の手順を次に示します。
-
コマンドライン上のライブラリを左から順に取り出し,それぞれ次の操作をします。
- (a) ライブラリが絶対パスで指定されている場合
-
そのライブラリに該当する外部名があるかどうかをチェックします。あれば検索を終了します。
- (b) ライブラリ名だけが指定されている場合
-
ライブラリのパス(-LIBPATHオプションで指定されたパス,および環境変数LIBに指定されたパス)を順に検索して該当するライブラリを見つけます。そして,そのライブラリに外部名があるかどうかをチェックします。あれば検索を終了します。ライブラリのパスは,まず-LIBPATHオプションに指定されたパスをオプションの指定順に検索し,そのあとに環境変数LIBに指定されたパスを順に検索します。
-
1.の操作で見つからない場合,-DEFAULTLIBオプションに指定されたデフォルトライブラリと,オブジェクトファイル内で定義されているデフォルトライブラリに対して(a)(b)の操作をします。
-
1.2.の操作で見つからない場合は,外部参照未解決のためエラーとします。
- 注意事項
-
リンカ(LINKコマンド)では,外部名はすべて英大文字と英小文字が区別されます。