#define DATA_VAR_FILENAME(PROJECT_ID) QUOTES(..\ ## PROJECT_ID ## _data_var.h)
或
#define DATA_VAR_FILENAME(PROJECT_ID) QUOTES(..\##PROJECT_ID##_data_var.h)
对于上面这行我得到了警告
备注:无法识别的令牌
如何消除警告?
答案 0 :(得分:1)
从它的外观来看,它看起来正在尝试在预处理器中编写文件名。这是不可能的,因为形成路径名的字符串不是预处理器的标记。
通常不需要这样的操作。字符串文字在稍后的编译阶段简单地连接得太大的字符串文字。像
这样的东西"../" "my_file.h"
应该这样做。
您似乎也难以在您的平台上\
成为路径分隔符。因此,您必须小心地在字符串文字中将其转义,例如"..\\"