C++ 代码块宏
我想打印预处理器生成的字符串:C++ 代码块宏,c++,codeblocks,C++,Codeblocks,我想打印预处理器生成的字符串: cout << GITHASH << endl; 但如果我在项目构建选项中将此宏置于codeblocks的编译器定义设置中,则会出现以下错误: 错误:»脏«未在此范围内定义 有人知道如何在代码块设置中正确定义此宏吗 我在ubuntu 16.04上使用代码块16.01 编辑: 现在我想用git描述我的项目来替换“dirty” GITHASH=\\"$(shell git describe --dirty --always --tags)\
cout << GITHASH << endl;
但如果我在项目构建选项中将此宏置于codeblocks的编译器定义设置中,则会出现以下错误:
错误:»脏«未在此范围内定义
有人知道如何在代码块设置中正确定义此宏吗
我在ubuntu 16.04上使用代码块16.01
编辑:
现在我想用git描述我的项目来替换“dirty”
GITHASH=\\"$(shell git describe --dirty --always --tags)\\"
有什么想法吗
编辑:
它与:
GITHASH=\\"`git describe --dirty --always --tags`\\"
确保
gitshash=“\”脏“
完全按原样写入,在=(等号)前后不应有空格
或者,尝试编写
gitshash=\\\\“dirty\”
或gitshash=\\\“dirty\”
它在我的系统上运行得非常好,使用代码块16.01赢得10分。您是否尝试过gitshash=\\\“dirty\”@user3161880谢谢,它工作得很好!
GITHASH=\\"`git describe --dirty --always --tags`\\"