我想在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;
}

08-16 03:41