首页 > 解决方案 > 如何将哈希字符 (#) 添加到 qmake 变量

问题描述

我想用qmake#define几个值编写一个配置文件。但我不能简单地创建包含井号或井号字符 ( #) 的变量。非工作示例:

lines = "/* Autogenerated: do not edit */"
if(foo): lines += "#define MYLIB_WITH_FOO 1"
else:    lines += "#define MYLIB_WITH_FOO 0"
write_file(config.h, lines)

哈希开始注释(在字符串内!),所以这不起作用。如何为under生成正确#define的 s ?write_fileqmake

标签: qmake

解决方案


有一个预定义的变量称为LITERAL_HASH专门创建来处理这个问题。

如果此名称看起来太长,您可以创建自己的名称:

H = $$LITERAL_HASH
lines = "/* Autogenerated: do not edit */"
if(foo): lines += "$${H}define MYLIB_WITH_FOO 1"
else:    lines += "$${H}define MYLIB_WITH_FOO 0"
write_file(config.h, lines)

推荐阅读