c - 制作命令行字符串变量

标签 c command-line makefile symbols

我想在 make 命令行中为 CC_FLAGS 定义值。

make - f makefile CC_FLAGS=-DVERSION='\"1.2.3\"'

可以,但是如果想为 CC_FLAGS 定义多个值怎么办?

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;
}

关于c - 制作命令行字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30493367/

相关文章:

linux - 抑制makefile中命令调用的回声?

Makefile 不会使用 touch 创建多个 txt 文件

objective-c - 有类似 "jump to"或 "go to"的东西吗?

c - 当一个函数被另一个函数调用时,它的技术术语是什么?

c - c中char数组中的空格

command-line - 严格模式下的 Hacklang 命令行程序

mysql - 我们可以在 Windows 中通过命令提示符运行 mysql 查询吗?

video - 此 ffmpeg 命令中的倒数第二个参数有什么作用?

混淆 fork 和全局变量

post - 使用cmake完成后如何打印消息?