使用 llvm 2.0
在新的 xcode4 上编译我的项目编译器我收到一个来自标准 <sqlite3.h>
的奇怪错误 header 。问题出在以下行:
//<sqlite3.h>
typedef struct sqlite3 sqlite3;
错误信息:
In file included from /Projects/trunk/MyProj/Classes/StatsProvider.m:14:
Elaborated type refers to a non-tag type in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/sqlite3.h
使用GCC 4.2工程编译没问题
我该如何修复该错误?
最佳答案
我的猜测:您正在将 sqlite 编译为 C++ 代码,而您应该将其编译为纯 C 代码。 class/struct 关键字在 C++ 中隐式引入了 typedef,但在 C 中并非如此。
关于objective-c - 使用llvm编译器的sqlite3编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5281582/