2012-09-07 6 views
5

ターミナルを使って手動でライブラリをビルドする場合、私は残念なことに多くの経験がなく、私はここでちょっと固執しています。Mac OSでlibtoolを使って.aファイル(静的ライブラリ)を作成するにはどうしたらいいですか?

私はmakefilesなどに付属しているobjective-cのライブラリをダウンロードしました。

フォルダにも「libtool」という実行可能ファイルが含まれていることがわかりました。私は検索しましたが、これは必要なファイルを作成するために必要なプログラムと思われます。.aファイル?残念なことに、私は本当にこれについて役に立つ有用な記事を見つけることができませんでした。

は、ライブラリのフォルダには、いくつかの.SHファイル、 .PCのファイルともいくつかの.laファイルが含まれていますが、私はlibtoolのへの入力として使用するために持っているもののビットわかりませんよプログラムを使用して.aファイルにコンパイルします。

だから私の質問は、ファイルが必要な.Aファイルにコンパイルするのlibtoolに入力しなければならないのは何ですか?これを達成するためにどんなコマンドを正確に使用していますか?

はお時間ありがとうございました:)

答えて

8

まず静的ライブラリに少し紹介:(あまりにもマックOSX、およびLinuxなどの)UNIX環境で

静的ライブラリですオブジェクトファイルの実際にちょうどアーカイブarコマンドラインプログラムによって作成されます。

これは、.a拡張子の略です。アーカイブ。あなたは、このようなコマンドを使用することができ、いくつかのオブジェクトファイルと静的ライブラリを作成するには

:あなたの実際の質問については

ar crv libmy_library.a objectfile1.o objectfile2.o 

libtoolは、ライブラリを作成し、メイクファイルから自動的に呼び出されなければなりません、 .laで終わるファイルです。しかし、これは実際のライブラリではなく、実際のライブラリは隠しディレクトリにあります。あなたはそれを見つけることができます。

find . -name '*.a' 

しかし、私が言ったように、メイクファイルは、すでにあなたが例えば行うときに正しい場所に正しいライブラリのインストールなど、すべての世話を取る必要がありますmake install

libtoolの詳細については、this siteを参照してください。

+0

追加情報もありがとうございます。非常に便利:)そして、私は、makefileが実際に同じフォルダにないライブラリを実際にビルドしたことを知りました;)それらはファイルシステムのロケールフォルダにビルドされました。お手伝いありがとう :) – CodingBeagle

関連する問題