Qt的.pro文件如何配置自动获取svn版本号功能
时间: 2023-06-12 13:08:26 浏览: 237
Qt通过SVN自动给EXE版本信息QtVersionInfo.rar
在Qt的.pro文件中配置自动获取svn版本号功能,可以使用QMAKE_EXTRA_TARGETS和QMAKE_POST_LINK两个变量。
首先,需要在.pro文件中定义一个版本号变量,比如:
```
VERSION = 1.0.$${system(svnversion -n .)}
```
其中,使用了system函数来执行svnversion命令获取当前svn版本号,并将其赋值给VERSION变量。
接着,需要定义一个QMAKE_EXTRA_TARGETS变量,用于在链接之前执行一个命令,来更新版本号:
```
QMAKE_EXTRA_TARGETS += version
version.commands = sed -i 's/^VERSION = .*/VERSION = $${VERSION}/' $${PWD}/version.h
version.target = version.h
version.depends = FORCE
```
其中,version.commands定义了一个命令,用于更新version.h文件中的版本号。在这里,使用了sed命令来替换version.h文件中的VERSION宏定义。version.target指定了更新的目标文件,即version.h。version.depends指定了更新版本号之前需要执行的依赖命令。
最后,在QMAKE_POST_LINK变量中添加一个依赖,使得在链接之后自动执行更新版本号的命令:
```
QMAKE_POST_LINK += version
```
这样,每次编译项目时,就会自动获取当前svn版本号,并更新version.h文件中的版本号。
阅读全文