我试图将sqlite3 C库用于我们的iOS应用程序,因此我将sqilte3.c文件包含在我的项目中(这一个http://goo.gl/BcIChe)。当我构建项目时,我只有一个错误,但有几次:
Use of undeclared identifier sqlite3one
我发现sqlite3one的用法如下:
SQLITE_PRIVATE const int sqlite3one;
# define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0)
# define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)
# define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN ? SQLITE_UTF16BE : SQLITE_UTF16LE)
因此,当我使用SQLITE_UTF16NATIVE指令时,会发生错误。我怀疑sqlite3one常量在预编译器编译时不在这里,因此它无法解析SQLITE_BIGENDIAN,SQLITE_LITTLEENDIAN等等。
我的问题是:我们可以在预处理器指令中使用常量变量吗?你有另外一个解决方案吗?
非常感谢
编辑:哦,我解决了,它只是库的错误(我已经导入了它),sqlite3one常量未在相应的#ifdef部分声明;)
感谢您的回答。