我有一个已知可以在其他人的机器上编译的驱动程序,但是,它不在我的(工具链/编译器的区别?)。我得到了error: implicit declaration of function '__REG' [-Werror=implicit-function-declaration]
。这是导致它的代码:
enum {
#define __REG(a,b2,b1,c,d,e,f) a,
#include "mycodec-i2c.h"
#undef __REG
};
然后在代码中......
static const mycodec_reg_t mycodec_data[]=
{
#define __REG(a,b2,b1,c,d,e,f) c,
#include "mycodec-i2c.h"
#undef __REG
};
这在C中真的合法吗?我该如何解决它?
头文件包含大量寄存器定义。