C语言 - 在预处理程序指令中使用常量变量

时间:2014-07-25 09:54:29

标签: ios c sqlite c-preprocessor preprocessor-directive

我试图将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部分声明;)

感谢您的回答。

0 个答案:

没有答案