2009-09-02 19 views
6

いくつかの動的ライブラリ(例えばlibsqlite3.0.dylib)を必要とする静的ライブラリをXCodeで作成しました。私はXCodeのプロジェクト間参照を使って私の静的ライブラリに依存するアプリケーションを作成することができますが、必要なダイナミックライブラリをすべて自分のアプリケーションプロジェクトに手動で追加してリンクさせる必要があるようです。XCodeスタティックライブラリにダイナミックライブラリとのリンケージが必要な場合がありますか?

XCodeでスタティックライブラリプロジェクトを設定して、依存するアプリケーションが必要なダイナミックライブラリを自動的にリンクする方法はありますか?

静的ライブラリプロジェクトのFrameworksリストに動的ライブラリを追加しようとしましたが、これは効果がないようです。

答えて

2

はい - ライブラリをアプリケーションに追加する必要があります。静的ライブラリ(.a)は、最小の内部シンボル解決ビットを持つ.oファイルのアーカイブです。完全なシンボル解決は、アプリケーション(またはフレームワーク)にリンクするまで発生しません。

(あなたが直接sqlite3のを使用していますか?もしそうなら、なぜコアデータを使用していない?そこの理由がありますが、ないほぼ同じことが多い人の事など...)

+0

感謝。 .aファイルには必要な動的ライブラリに関する情報は含まれていませんが、.xcodeprojにこの情報を参照する従属の.xcodeprojファイルにこの情報を伝えることができることを期待していました。これは理論的には可能ですが、多分希望的な考え方です。 私はいくつかのアプリケーションがOS 2.2.1で動作する必要があるため、sqlite3を使用しています。 – cduhn

+0

(CD:残っている2.2.1ユーザーのうち何人がアクティブなアプリ購入者であるのだろうと思うが)Xcodeでこれを行うことについて私が知っていることはありません。 xcconfigファイル(ビルド構成ファイル)を使用して、プロジェクト間で共有することができます。ドキュメントが役立ちます。 – bbum

関連する問題