Linux内核错误:令牌“(”之前缺少二进制运算符

时间:2019-04-01 13:43:35

标签: c linux-kernel c-preprocessor kernel-module

Linux内核模块中的一些简单的预处理器代码给出了错误:

  

在令牌“(”之前缺少二进制运算符

代码:

#if defined(AAA) || defined(BBB)

#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,13,0)
#define SOME 111
#else
#define SOME 222
#endif

#define OTHER 999

#else

#define SOME 1
#define OTHER 9

#endif /* AAA || BBB */

That post没有帮助。

1 个答案:

答案 0 :(得分:4)

该错误表示未定义KERNEL_VERSION

您错过了#include <linux/version.h>


编辑

关于内核版本,另请参见:Is there a macro definition to check the Linux kernel version?