【发布时间】:2009-05-05 07:11:03
【问题描述】:
我正在尝试将 SQLite amalgamation 源代码编译到我的 iPhone 应用程序中(以便我访问 iPhone 编译的二进制版本中不可用的全文搜索功能。
当我将 sqlite3.c 和 sqlite3.h 添加到普通的 Carbon C 应用程序模板时,它编译得很好(带有一个关于未使用变量的警告),但是当我尝试在我的 iPhone 项目中编译它时,我得到一个数字与缺少函数声明有关的错误。我可以通过显式包含 ctype.h 来解决这些问题,但这有点奇怪。
但是,即使在它构建之后,它也无法链接并出现以下错误:
"_sqlite3_version", referenced from:
_sqlite3_version$non_lazy_ptr in sqlite3.0
symbol(s) not found
collect2: ld returned 1 exit status
我认为这是 iPhone 应用程序的构建设置中的内容,但我无法弄清楚。有什么想法吗?
【问题讨论】:
-
为什么要使用 Carbon C 应用模板进行 iPhone 部署?
-
我不是。我只是想看看它是否可以在任何地方编译——即,如果 iPhone 项目的设置导致了问题——所以我认为基本的 Carbon C 模板干扰的可能性最小。
-
(顺便说一句,我是对的,因为它编译得很好)
-
啊,好吧,我看错了。我也在 iPhone 项目上使用 sqlite3 合并,我没有遇到任何不编译的问题。
-
这就是我在网上找到的所有参考资料都在说的——只需放入这两个文件就可以了。唉...