2011年9月8日木曜日

lipoコマンドでarmとi386のライブラリを統合

前のポスト「AdMakerを入れてみた」で、シミュレータービルドとデバイスビルドで組み込むライブラリを変更する方法が知りたいと書きましたが、方法がありました!

simulatorとdeviceのライブラリを統合する

lipoコマンドでダイエット

lipoコマンドというのがあって、これを使えば、arm6,7用、i386用のスタティックライブラリを1つのライブラリファイルにまとめることができるそうです。

AdMaker のスタティックライブラリの場合

libAdMaker_sim.a ---- i386用
libAdMaker_dev.a ---- arm6,7用

となっているので、これをまとめるには…
> lipo -create ./libAdMaker_sim.a ./libAdMaker_dev.a -output ./libAdMaker.a
としてやり、1つのファイルにまとめた libAdMaker.a を自分のプロジェクトに組み込めば、邪魔な警告が出なくなります。

しかし、これってどういう仕組みなのでしょう?
ビルドする際に必要ない方をきちんと削除してくれるのか、それとも両方共実行バイナリに含まれてしまうのか気になるところです。

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...