在contiki下编译工程时,一个源文件使用了定义在**.mk文件中的预定义宏,但是在编译时报错,错误为该预定义宏未定义。
经过多方查找调试,发现该问题原因如下:
虽然makefile中有 include **.mk
语句,但是还不够,还需要在CFLAG中添加引用的预定义宏的名称。一般在.mk中,会定义一堆预定义宏,然后在文件末尾添加MYMAKE_OPTIONS = -DMACRO_X=$(MACRO_X) -DMACRO_Y=$(MACRO_Y)
。
所以在makefile中,需要在CFLAG中添加$(MYMAKE_OPTIONS)