我已经为iPhone开发了自己的框架。在我的类中,我有类来管理SQLite数据库。因此,我需要将我的框架与libsqlite3.dylib链接起来。框架的编译/创建工作正常,但当我将自定义框架链接到应用程序并编译它时,会出现以下错误:
未定义的体系结构符号i386:"_sqlite3_open",引用于:-CSQLite open:ext:copyDataBase: in CUtils(CSQLite.o) "_sqlite3_create_function",引用自:-CSQLite open:ext:copyDataBase: in CUtils(CSQLite.o) "_sqlite3_value_text",引用自:_sql_regexp in CUtils(CSQLite.o) "_sqlite3_result_int",引用来源:_sql_regexp in CUtils(CSQLite.o) "_sqlite3_close",引用于:-CSQLite close in CUtils(CSQLite.o) "_sqlite3_prepare",引用于:-CSQLite查询:Rows: in CUtils(CSQLite.o)
通过链接我的应用程序中的libsqlite3.dylib,错误消失了。
是否有一种方法可以将libsqlite3.dylib直接链接到我自己的框架中,还是需要始终在应用程序中添加libsqlite3.dylib?
发布于 2012-02-01 09:20:18
您的框架使用sqlite3框架,当您将您的框架发送给第三方开发人员时,只需记录它们还必须将项目链接到sqlite3。没有别的办法了。
最好的例子是ASIHttp --他们没有将代码打包到框架或静态库中,但是如果您想使用它,就必须将您的项目链接到他们正在使用的框架。
https://stackoverflow.com/questions/9093280
复制相似问题