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

时间:2013-09-05 10:02:07

标签: string qt character

我需要定义这样的东西:

DEFINES += SENSOR_URL="udp://10.3.2.2.220#1"

但它会引发错误:

  

错误:缺少关闭“报价

怎么做?

3 个答案:

答案 0 :(得分:9)

我在我的专业档案中做了类似的事情:

DEFINES += VERSION_STR=\\\"0.4\\\"

<强>更新

问题可能是'#'字符是qmake文件格式的注释标记,因此应该对其进行转义。像这样:

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

答案 1 :(得分:5)

问题是#被视为注释,这是导致它忽略结束引用的原因。不幸的是,即使使用quoteescape_expand以及其他未记录的函数,它也是一个不可逃避的特殊字符。有some discussion on the bug tracker修复它,但它已被关闭。

答案 2 :(得分:1)

来自项目的工作示例:

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