【发布时间】: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