2012-02-01 8 views
0

iPhone用の独自のフレームワークを開発しました。私のクラスの中には、SQLiteデータベースを管理するクラスがあります。だから私はlibsqlite3.dylibと私のフレームワークをリンクする必要があります。フレームワークのコンパイル/作成が働いているが、私は、アプリケーションで私のカスタムフレームワークをリンクし、それをコンパイルするとき、私のようなエラーが出ます:i386アーキテクチャ用カスタムフレームワーク:ライブラリとバイナリをリンクする

未定義のシンボルを: 、「_sqlite3_open」から を参照: CUtils(CSQLite.o)の "_sqlite3_create_function"で、 から参照されるCUtils(CSQLite.o)の "_sqlite3_value_text"で、 - [CSQLite open:ext:copyDataBase:]から参照される[CSQLite open:ext:copyDataBase:] CUtils(CSQLite.o)の_sql_regexp "_sqlite3_result_int"、参照先: CUtils(CSQLite.o)の_sql_regexp "_sqlite3_close"(参照先: ) - [CSQLite close] in CUtils(CSQLite.o :から参照) "_sqlite3_prepare"、 - [CSQLiteクエリ:行:] CUtils(CSQLite.o)で

自分のアプリケーションにlibsqlite3.dylibをリンクすることで、エラーが消えました。

libsqlite3.dylibを自分のフレームワーク内で直接リンクする方法はありますか、またはアプリケーションにlibsqlite3.dylibを追加する必要がありますか?

答えて

4

フレームワークはsqlite3フレームワークを使用します。サードパーティの開発者にフレームワークを送信するときには、プロジェクトをsqlite3にリンクする必要があることだけを文書化してください。他の方法はありません。

ベストプラクティスはフレームワークや静的ライブラリにコードをパックしないASIHttpですが、使用する場合は、プロジェクトを使用しているフレームワークにリンクする必要があります。

+0

これはちょっと...: '( – Niko

関連する問題