关于#Qt#全局宏变量的问题,如何解决?

最近在维护一个Qt项目的版本,每次修改代码后都更新一个版本号,于是就在Qt的pro文件中添加了一个全局宏变量:DEFINES += SOFTVERSION=\"V1.0.0.1\" 然后在文件中引用,但是我每次修改pro中的版本号信息比如改为:DEFINES += SOFTVERSION=\"V1.0.0.32\",但是Qtcreator不进行重新编译引用SOFTVERSION的文件。
1.求各位指导一下怎么解决这个问题
2.顺便问一下各位开发qt项目的时候是怎么维护Qt项目的版本号呢?

  • 可以查看手册:qt Qt 中的内容

不知道别人有没有更好的办法,我是用QMAKE_SUBSTITUTES来用.in文件生成代码
pro文件里

QMAKE_SUBSTITUTES += $$PWD/version_info.cpp.in
SOURCES += $$shadowed($$PWD/version_info.cpp)

version_info.cpp.in里

const QString appVersion = \"Version: $$VERSION\";

哦对了这个VERSION不是DEFINES定义的宏变量,只是pro文件里的变量