libtool」とは .la
のファイル?共有オブジェクトでどのように使用されますか?
回答:
回答№1の123ライブラリの説明を含むテキストファイルです。
それが可能 libtool
プラットフォームに依存しない名前を作成します。
例えば、 libfoo
に行く:
Linuxの場合
/lib/libfoo.so # Symlink to shared object
/lib/libfoo.so.1 # Symlink to shared object
/lib/libfoo.so.1.0.1 # Shared object
/lib/libfoo.a # Static library
/lib/libfoo.la # "libtool" library
下 Cygwin:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # libtool library
/bin/cygfoo_1.dll # DLL
Windows MinGWの場合:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # "libtool" library
/bin/foo_1.dll # DLL
そう libfoo.la
プラットフォーム間で保持される唯一のファイル libtool
何が起こるかを理解できるようにする:
- ライブラリの依存関係
- 実際のファイル名
- ライブラリのバージョンとリビジョン
ライブラリの特定のプラットフォーム実装に依存することなく。
回答№2のための7
による http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files、依存関係を処理するために必要です。ただし、pkg-configを使用する方が適切なオプションです。
完璧な世界では、必要なすべての静的ライブラリ依存関係にはpkg-config用の独自の.pcファイルがあり、そのライブラリに静的にリンクしようとするすべてのパッケージは、pkg-config --staticを使用してライブラリをリンクします。
回答№3の6
ここで.laファイルに関する非常に良い説明を見つけました http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
まとめ(私が理解した方法): libtoolは内部で(--diable-sharedまたは--disable-staticを介して)静的および動的ライブラリを処理するため、ビルドするライブラリファイルにラッパーを作成します。これらは、libtoolでサポートされる環境でバイナリライブラリファイルとして扱われます。