在使用qt Creator 开发中,如果想使用 svn 的源代码版本号来作为 build 的一个子版本号或者只是为了识别某个发布版本,与源代码的版本信息对应起来,可以方便调试对应的版本代码,我们可以通过获取svn的最新提交的版本代码号来实现。

svn中有SubWCRev.exe工具提供获取svn版本号,可以通过批处理文件获取

批处理文件 get_svn_ver.bat

setlocal

set SVN_PATH=D:\Program Files\TortoiseSVN\bin -- svn路径 
set WORK_DIR=F:\QT Project          -- 项目路径 
set VERSION_TEMPLATE=F:\QT Project\version_template.h    --版本模板 
set VERSION_RELEASE=F:\QT Project\version.h          --生成的版本头文件 cd %SVN_PATH% SubWCRev.exe "%WORK_DIR%" "%VERSION_TEMPLATE%" "%VERSION_RELEASE%" -f -- 命令
版本模板文件
version_template.h
 
#ifndef _TMPVERSION_H_
#define _TMPVERSION_H_ #define VER_MAJOR 1
#define VER_MINOR 0
#define SVN_RANGE $WCRANGE$
#define SVN_DATE $WCDATE$ // svn最新提交时间
#define SVN_URL $WCURL$ // svn 地址
#define VER_REVISION "$WCREV$" // svn最新提交的版本号 查看svn帮助文档可以看到会进行svn号的替换 #endif //!_TMPVERSION_H_
将get_svn_ver.bat与version_template.h 复制到项目目录下
在qt creator中设置一下
  1. 选择 Qt Creator 左侧的项目标签,选择右侧的构建,添加自定义步骤选择 get_svn_ver.bat 作为命令,工作目录设定为工程所在目录(version.h将被放在这里)
  2. 把刚添加的自定义步骤顺序调整到最上面
  3. 在项目中引入头文件version.h ,并在项目中使用宏 VER_REVISION ,就可以显示版本号

每次编译 都会执行该批处理 获取最新的svn版本号, 并重新生成version.h

QT Creator 使用SVN的版本号做为编译的版本信息的更多相关文章

  1. 使用QT 4.8.6 + Cmake 3.0.0 编译 最新版本OpenCv3.0.0

    mingw32 (x32) gcc g++ qt opencv- -- cmake -rc1 windows x64 参考文章: http://blog.csdn.net/qiurisuixiang/ ...

  2. 使用Qt Creator进行linux远程调试

    序言 考虑到程序员在无桌面Linux的环境下编写C/C++程序,如果使用原生的Vim编辑和单步断点调试比较麻烦,不利于新手使用,所以笔者尝试使用Qt实现两台Linux电脑远程部署和调试.即程序员在调试 ...

  3. 使用Qt Creator作为Linux IDE,代替Vim:实现两台Linux电脑远程部署和gdb调试(一台电脑有桌面系统,一台电脑无桌面系统)

      版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/libaineu2004/article/details/62423830 尊重作者,支持原创,如 ...

  4. QT Creator引用win32 api类库方法(.lib)

    由于Qt Creator使用的是mingW进行程序编译,该编译方式无法识别#pragma comment(lib,"lib\\hvdailt.lib")引用. 所以需要在.Pro文 ...

  5. Qt Creator 调试器 在 Ubuntu 13.10下 局部变量和表达式(Locals) 无内容

    此篇算是一个翻译,万一有国内同样的小白遇到同样问题,方便参考. 原文http://hostilefork.com/2013/10/20/qtcreator-debugger-no-locals-ubu ...

  6. 2.Qt Creator的使用

    下面以一个简单的程序来说明Qt Creator的使用: 首先,按图片步骤创建一个Qt项目 创建完成后 上图标记处工具栏提供了简化树形视图.分栏等功能(自行尝试吧...) 在使用Qt制作一个界面时,我们 ...

  7. qt creator源码全方面分析(2-10-2)

    目录 Creating Your First Plugin 创建一个插件项目 构建并运行插件 文件结构 qmake项目 插件元数据模板 插件类 头文件 源文件 Creating Your First ...

  8. qt creator源码全方面分析(2-10-1)

    目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩 ...

  9. linux下QT Creator常见错误及解决办法

    最近因为在做一个关于linux下计算机取证的小项目,需要写一个图形界面,所以想到了用QT来写,选用了linux下的集成开发环境QT Creator5.5.1,但刚刚安装好,竟然连一个"hel ...

随机推荐

  1. php中_initialize()函数与 __construct()函数的区别说明

    _initialize()方法是在任何方法执行之前,都要执行的,当然也包括 __construct构造函数. 也就是说如果存在_initialize()函数,调用对象的任何方法都会导致_initial ...

  2. 常见浏览器userAgent请求头信息

    if (browser.versions.mobile) {//判断是否是移动设备打开.browser代码在下面 var ua = navigator.userAgent.toLowerCase(); ...

  3. windows把zookeeper注册成服务

    1.官网下载zookeeper:http://mirrors.hust.edu.cn/apache/zookeeper/. 2.修改zookeeper下面的文件/zookeeper/conf/zoo_ ...

  4. springboot之JWT实现权限认证

    1.在pom.xml添加依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jw ...

  5. [activemq]+spring的使用

    一.生产端(Producer) applicationContext.xml中的配置: <?xml version="1.0" encoding="UTF-8&qu ...

  6. delphi7 clientdataset 详解

    delphi Midas SQLServer的自增字段的处理1.新增时,表中有自增字段,但是不希望用Refresh,直接ApplyUpdates直接看见自增字段的值在DataSetProvider.A ...

  7. Docker 实践备忘录

    平时零散的接触docker,时间久了概念和命令都会忘了,所以集中记下: docker 目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC)等技术 docker ...

  8. iOS-SVPullToRefresh​下拉刷新,上拉加载(转)

    https://github.com/Sephiroth87/ODRefreshControl 类似刷新控件,类似qq动画的那种刷新. 一.下载第三方库 https://github.com/samv ...

  9. 环境变量配置文件profile

    环境变量配置文件 在Ubuntu中有如下几个文件可以设置环境变量1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时, ...

  10. [Cometoj#4 B]奇偶性_打表

    奇偶性 题目链接:https://cometoj.com/contest/39/problem/B?problem_id=1577 数据范围:略. 题解: 因为$f$的构造原因,很容易找到规律. 进而 ...