ライブラリの説明を含むテキスト ファイルです。
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
によってプラットフォーム間で保持される唯一のファイルです 何が起こるかを理解できるようにする:
- ライブラリの依存関係
- 実際のファイル名
- ライブラリのバージョンとリビジョン
ライブラリの特定のプラットフォーム実装に依存しない。
http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files によると、依存関係を処理するために必要です。ただし、pkg-config を使用する方がよい場合があります:
<ブロック引用>
完璧な世界では、依存関係を必要とするすべての静的ライブラリに pkg-config 用の独自の .pc ファイルがあり、そのライブラリに静的にリンクしようとするすべてのパッケージは pkg-config --static を使用してリンク先のライブラリを取得します。 /P>
ここで .la ファイルに関する非常に良い説明を見つけましたhttp://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
要約 (私が理解した方法):libtool は内部的に (--diable-shared または --disable-static を介して) 静的ライブラリと動的ライブラリを処理するため、ビルドするライブラリ ファイルにラッパーを作成します。これらは、libtool がサポートされている環境では、バイナリ ライブラリ ファイルとして扱われます。