/ / libtoolの.laファイルの目的は何ですか? -Linux、ライブラリ、libtool

libtoolの.laファイルとは何ですか? - linux、libraries、libtool

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でサポートされる環境でバイナリライブラリファイルとして扱われます。