2010-11-27 40 views
1

我写了一个针对SDK 2.2的iPhone应用程序,我已经更新了我的XCode和SDK,所以现在我只有SDK 4.2,我想更新我的应用程序以便与之一起运行。用Sqlite编译iOS 4失败

问题是我甚至无法得到它编译!

我得到以下错误:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include/sqlite3.h:5772:错误:预期 '=', ' ' ';', 'ASM' 或 'INT' 前' 属性'

所讨论的行是:

SQLITE_API INT sqlite3_rtree_geometry_callback( sqlite3的*分贝, 常量字符* zGeom, int(* xGeom)(sqlite3_rtree_geometry *,int nC oord,double * aCoord,int * pRes), void * pContext );

我试着重新链接新的sqlite框架,libsqlite3.dylib和libsqlite3.dylib,但都仍然导致此错误。

如果我注释掉我的导入语句(#import“sqlite3.h”),它编译得很好。 (虽然它崩溃当我运行它,很明显。)

+0

听起来像SQLITE_INT被定义为编译器无法识别的东西。如果使用`-E`标志运行`gcc`来查看预编译器为编译器所做的工作,你会发现什么? – 2010-11-27 06:35:40

回答

0

我设法使其通过#进口“/usr/include/sqlite3.h”

0

我最终取代#进口“sqlite3.h”后工作创建一个新项目,并从原始文件导入所有文件,然后链接sqlite框架。之后,它编译得很好。

1

我用同样的方式Sqlite.h使用导入这个库:

#import <sqlite3.h> 

,并解决了问题。