12.84 --library=name

コマンドラインで完全なライブラリファイル名を指定しなくても、リンカはダイナミックライブラリまたは静的ライブラリを検索できます。

構文

--library= name
name はライブラリの名前です。

使用法

コマンドラインのその時点でダイナミックライブラリ検索が有効かどうかに応じて、 libname.so という動的ライブラリまたは libname.a という名前の静的ライブラリを検索できます。
  • ダイナミックリンクが有効な場合、 libname.so を指定できます。
  • ダイナミックリンクが無効な場合、 libname.a という静的ライブラリとリンクされます。
--[no_]search_dynamic_libraries オプションを指定すると、次の --[no_]search_dynamic_libraries オプションが出現するまで、後続の --library オプションに適用されます。
共有ライブラリへの参照がイメージに追加され、実行時にダイナミックローダによってライブラリへの参照が解決されます。ライブラリへの参照が解決される順序は、コマンドラインでライブラリが指定されている順序です。これは、ダイナミックリンカによって依存関係が解決される順序でもあります。--runpath オプションを使用して、ライブラリの実行時の場所を指定できます。

デフォルト

デフォルトでは、ダイナミックリンクは有効になっています。動的ライブラリまたは静的ライブラリの検索を制御するには、 --[no_]search_dynamic_libraries オプションを使用します。

以下の例は、libfoo.so より先に libfoo.a を検索する(ただし、libbar.a のみを検索)方法を示しています。
--arm_linux --shared --fpic --search_dynamic_libraries --library=foo --no_search_dynamic_libraries --library=bar
関連する参考文書
12.7 --arm_linux
12.121 --runpath=pathlist
12.126 --search_dynamic_libraries、--no_search_dynamic_libraries
12.65 --fpic
12.128 --shared
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.