objective-c - 使用llvm编译器的sqlite3编译错误

标签 objective-c c sqlite compiler-errors llvm

使用 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/

相关文章:

ios - 单击按钮时 UIAlertView 静默崩溃

java - 如何从数据库中的数据填充 UI?

android - 设计一个结构化数据库来聊天,一张表或多张表

objective-c - &self 的类型转换导致编译器错误

ios - NSArray mutableCopy 创建新数组但仍指向旧内容

c - 将目录依赖项指定为百分比规则时,Linux 上的 Make 行为非常奇怪

c - GCC 4 中的 in6_addr

java - 如何在不调用execSQL的情况下删除SQLite表IF EXISTS?

iOS 使用 NSBlockOperation 限制异步 API 调用

c - 如何将char数组中存储的int转换为int变量进行计算?