Ошибка компиляции sqlite3 с компилятором llvm - PullRequest
1 голос
/ 12 марта 2011

Компиляция моего проекта на новом xcode4 с использованием компилятора llvm 2.0 Я получаю странную ошибку, исходящую из стандартного заголовка <sqlite3.h>. Проблема в следующей строке:

//<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 без проблем компилируется

Как я могу исправить эту ошибку?

Ответы [ 2 ]

1 голос
/ 12 марта 2011

Мое предположение: вы компилируете sqlite как код C ++, тогда как вы должны скомпилировать его как простой код C. Ключевые слова class / struct неявно вводят определение типа в C ++, но не в C.

1 голос
/ 12 марта 2011

Я интерпретирую сообщение об ошибке как жалобу компилятора на использование struct sqlite3, когда он не видел объявления структуры с этим именем. Имена структур находятся в специальном «теге-пространстве».

Мое следующее предположение, что новый компилятор более строг, чем старый, и обнаружил ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...