error: missing binary operator before token "("
碰到这种编译问题,需要查看具体例子。
本人在 public.h中新定义了一个宏叫CHIP_TYPE,然后在wire_config.h中包含public.h头文件,并在160行使用宏:
编译时发现一直报错,如下:
在确认我自个定义的宏没问题后,发现报错的log中提到了 wire_hotplug.c,应该是这个c文件包含的其它的头文件有重复定义了CHIP_TYPE,所以需要在wire_config.h的头部添加一个处理即可:
gcc 在链接相关so或者a文件时出现 undefined reference to "xxx",
首先确认是否有这个xxx接口的真身,然后查明其所在的库文件,之后在当前makefile里添加就行。
可是今天遇到一种特殊情况,在如下的libs后面直接添加libapps_vram.a文件时并没效果,还是出现undefined。
LIBS = $(SDK_LIB_DIR)/libsres.so\
$(CASE_LIB_DIR)/libapps_vram.a
至于为啥识别不到a文件本人还在分析中,只是找到一个妥协的的办法,在makefile最后添加进去
LIBS += $(CASE_LIB_DIR)/libapps_vram.a