在iOS 5中编译时出现SQlite 3错误

时间:2011-10-14 09:46:04

标签: iphone sqlite

我在使用iOS5编译代码时遇到以下错误。以前的版本似乎很好

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/usr/include/sqlite3.h:230:24:错误:将'sqlite3'重新定义为不同类型的符号[3] < / p>

任何建议

2 个答案:

答案 0 :(得分:4)

我有同样的问题。我发现当我将“Compiler for C / C ++ / Objective-C”从“Apple LLVM编译器3.0”更改回“LLVM GCC 4.2”时,错误消失了。 (但这不是首选的iOS 5设置)

此外,似乎sqlite3现在默认包含在iOS 5.0中,当您在项目中包含sqlite3作为框架时,可能会导致重新定义错误。但即使我从我的项目中删除了框架,错误仍然出现(但这次只有2而不是4)。

答案 1 :(得分:3)

我遇到了同样的问题。我的问题是我在头文件中使用了前向声明。这与sqlite3.h中的一行代码冲突:

typedef struct sqlite3 sqlite3;

不要使用前向声明,只需在头文件中使用#import <sqlite3>即可避免此问题。

(我意识到这可能不是你的情况下的问题,Qamar,但我是为那些遇到这个错误的未来编码员发布的)