我想在make命令行定义CC_标志的值。
make - f makefile CC_FLAGS=-DVERSION='\"1.2.3\"'
可以,但是如果要定义多个CC_标志值呢?
make -f makefile CC_FLAGS='-DVERSION='\"1.2.3\"' -DVERSION_1_2_3'
这不管用。这样做的目的是让一个字符串告诉软件版本号以及ifdef用法的符号。
最佳答案
你不需要额外的单引号内的那些你有。这是有效的:
make -f makefile CC_FLAGS='-DVERSION=\"1.2.3\" -DVERSION_1_2_3'
如本程序所示
int main (void)
{
printf ("Are we defined?\n");
#ifdef VERSION_1_2_3
printf ("yeah we have a version.\n");
#endif
#ifdef VERSION
printf ("version is: \"%s\"\n", VERSION);
#endif
return 0;
}