Objective-Cにおけるライブラリに関する諸々の調査

.oとか.dylibとか.aとか実行ファイルとかの整理

静的ライブラリの使い方

http://d.hatena.ne.jp/It_lives_vainly/20081203/1228381335

プロジェクトにファイルを追加することによるライブラリの指定


ライブラリ作成時にできあがった、lib*.a ファイルを、プロジェクトのウインドウにドラッグアンドドロップする.(もしくは、ファイルの追加を行う)
すると、ターゲットの[バイナリをライブラリにリンク]の部分に、投げ込んだライブラリが追加されていることがわかる.

リンカオプションによるライブラリの指定


この場合、プロジェクトにライブラリファイルを追加する必要がないので、構成毎に利用するライブラリを指定できる.

* プロジェクト設定の、 "検索パス"欄にある、"ライブラリ検索パス" に、ライブラリが置かれたパスを指定する.
* "リンク" 欄の "他のリンクフラグ" に -l$(ライブラリ名) を指定する.

例)

ライブラリ検索パス : ../mylib/lib/release

他のリンクフラグ : -lmylib

ライブラリのプロジェクトを追加して依存関係を設定する


リンクフラグを設定すると、構成毎に利用するライブラリが区別できて便利だが、ライブラリ開発を行っている場合にはライブラリ自身のコードが変更されるので、プロジェクトを行ったり来たりする必要があって煩わしい.
そこで、ライブラリの xcode プロジェクト自身を、ライブラリを利用するプロジェクトに追加して、依存関係を設定することができる.
ライブラリを利用するプロジェクトに、ファイルの追加なり、ドラッグアンドドロップなどで、ライブラリのプロジェクトを追加する.
"グループとファイル" ウインドウに、追加された xcodeproj を開くと、ライブラリ(lib*.a)が表示されるので、それをターゲットの"バイナリをライブラリにリンク" 欄にドロップする.
ターゲットを右クリックして、[情報を見る] を選択.
[一般]タグに、[直接依存関係]の欄があるので、[+]を押して依存関係を付けるプロジェクトを追加する.
この設定を行っておくと、必要に応じて、依存関係先のビルドを行ってくれるし、Deubg / Relase の構成を切り替えても対応するライブラリのリンクを行ってくれるようになる.
また、ライブラリの xcodeproj をダブルクリックすると、そのプロジェクトを開くこともできる.

その他

/usr/lib以下に入っているlibicucore.dylibを自分のコードから使う方法
http://d.hatena.ne.jp/moriyoshi/20081024/1224838297


iphoneに入ってるmecabを使いたいときとかに参考にする。




MacでsoじゃなくてdylibだったCommentsAdd Star
http://d.hatena.ne.jp/h_primula/20090731/p1


dylibを自分で作りたいときに参考にする