我想打印一个由预处理器生成的字符串:
cout << GITHASH << endl;
从命令行构建应用程序非常有效:
g++ -DGITHASH="\"dirty\"" app.cpp -o app.o
但是,如果我将此宏放在项目构建选项中的代码块的编译器定义设置中,则会出现以下错误:
有谁知道如何在代码块设置中正确定义这个宏?
我在 ubuntu 16.04 上使用代码块 16.01。
编辑:
现在我想用我的项目的 git 描述替换“脏”。
GITHASH=\\"$(shell git describe --dirty --always --tags)\\"
任何想法?
编辑:
它适用于:
GITHASH=\\"`git describe --dirty --always --tags`\\"
最佳答案
确保GITHASH="\"dirty\""
完全按原样书写,=(等号)之前或之后不应有空格。
或者,尝试编写 GITHASH=\"dirty\"
或 GITHASH=\\"dirty\\"
关于c++ - 代码块宏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45455228/