我们可以在QMake项目文件中自动加入动态库或静态库项目的版本号。如下面的使用SVN得到当前版本号的例子(项目的版本号通过一个命令得到):
在项目文件中增加以下几行就可以实现:
VERSION = $system(svn info -r HEAD . | grep 'Changed\ Rev' | cut -b 19-) !isEmpty(VERSION){ VERSION = 0.${VERSION} }
还可以增加如下的行使得在应用程序中也可以读取版本号:
VERSTR = '\\"${VERSION}\\"' # place quotes around the version string DEFINES += VER=\"${VERSTR}\" # create a VER macro containing the version string
而在程序中可以使用“VER"宏来得到版本号的引用:
#include <stdio.h> int main(){ printf("VERSION: %s\n", VER); return 0; }
原文如下: http://www.qtcentre.org/wiki/index.php?title=Version_numbering_using_QMake
Version numbering using QMake
You can have automatic version numbering for libraries built using QMake. Consider the following example using SVN to get the current version (substitute it with a command that returns the version number for your project).
Add the following to your project file:
VERSION = $$system(svn info -r HEAD . | grep 'Changed\ Rev' | cut -b 19-)
!isEmpty(VERSION){
VERSION = 0.$${VERSION}
}
You can also set a version for your application by adding:
VERSTR = '\\"$${VERSION}\\"' # place quotes around the version string
DEFINES += VER=\"$${VERSTR}\" # create a VER macro containing the version string
Then you can use the "VER" macro in your application to obtain the quoted version number:
#include <stdio.h>
int main(){
printf("VERSION: %s\n", VER);
return 0;
}