现在的位置: 首页 > 综合 > 正文

在QMake里自动加入SVN版本号

2014年02月28日 ⁄ 综合 ⁄ 共 1166字 ⁄ 字号 评论关闭

我们可以在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;
    }

抱歉!评论已关闭.