【问题标题】:Codeblocks macros代码块宏
【发布时间】:2017-08-02 08:16:24
【问题描述】:

我想打印一个预处理器生成的字符串:

cout << GITHASH << endl;

从命令行构建应用程序效果很好:

g++ -DGITHASH="\"dirty\"" app.cpp -o app.o

但是,如果我将此宏放入项目构建选项中代码块的编译器定义设置,我会收到以下错误:

错误:»dirty« 未在此范围内定义

有人知道如何在代码块设置中正确定义此宏吗?

我在 ubuntu 16.04 上使用代码块 16.01。

编辑: 现在我想用我的项目的 git 描述替换“脏”。

GITHASH=\\"$(shell git describe --dirty --always --tags)\\"

有什么想法吗?

编辑:

它适用于:

GITHASH=\\"`git describe --dirty --always --tags`\\"

【问题讨论】:

  • 它在我的系统上运行良好,使用代码块 16.01 赢得 10
  • 你试过 GITHASH=\\"dirty\\"
  • @user3161880 谢谢,它有效!

标签: c++ codeblocks


【解决方案1】:

确保

GITHASH="\"dirty\""

按原样写,=(等号)前后不能有空格。

或者,尝试写GITHASH=\"dirty\"GITHASH=\\"dirty\\"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2015-12-09
    相关资源
    最近更新 更多