String 如何在QT中定义pro文件中包含特殊符号的字符串?

String 如何在QT中定义pro文件中包含特殊符号的字符串?,string,qt,character,String,Qt,Character,我需要这样定义: DEFINES += SENSOR_URL="udp://10.3.2.2.220#1" DEFINES += SENSOR_URL=\\\"udp//:10.3.2.2.220$${LITERAL_HASH}1\\\" 但这会带来错误: 错误:缺少“结束”报价 如何做到这一点?我在我的pro文件中做了如下操作: DEFINES += VERSION_STR=\\\"0.4\\\" 更新: 问题可能是“#”字符是qmake files格式的注释标记,因此应该对其进行转义。

我需要这样定义:

DEFINES += SENSOR_URL="udp://10.3.2.2.220#1"
DEFINES += SENSOR_URL=\\\"udp//:10.3.2.2.220$${LITERAL_HASH}1\\\"
但这会带来错误:

错误:缺少“结束”报价


如何做到这一点?

我在我的pro文件中做了如下操作:

DEFINES += VERSION_STR=\\\"0.4\\\"
更新:

问题可能是“#”字符是qmake files格式的注释标记,因此应该对其进行转义。类似如下:

DEFINES += SENSOR_URL="udp://10.3.2.2.220#1"
DEFINES += SENSOR_URL=\\\"udp//:10.3.2.2.220$${LITERAL_HASH}1\\\"

问题是
#
被视为注释,这导致它忽略了结束引号。不幸的是,它是一个不可转义的特殊字符,即使使用
引号
转义(expand
和其他未记录的函数。

一个项目的工作示例请点击此处:

 DEFINES += REPO_DIR="\\\"$$DESTREPODIR\\\""

显示您尝试过的内容…我尝试过定义+=传感器\u URL=\\\”udp://10.3.2.2.220#1\\\“。但它抛出:缺少终止”字符。嗯。也许应该更改此线程的标题,以反映问题出的是.pro文件而不是Qt字符串(QString)。好的。现在错误更改为::0:错误:'udp'未在此范围内声明谢谢先生,
${LITERAL\u HASH}
正是我所需要的。只是澄清一下,
$${LITERAL\u HASH}
是一个内置的QMake变量。