MDK自动生成版本号
MDK自动生成版本号
MDK编译工程时自动生成一个文件版本号,格式为 “V x.x.x Build 2021/01/13 11:08:41 by 计算机名”
我的操作希望对读到的小伙伴有帮助!
文件结构是这样的
\Test
|->.svn
|->MDK_proj
-----|->Test.uvprojx
-----|->GetVersionNumber
----------|->svnreion.bat
GetVersionNumber 文件夹是用于存储生成版本号及存储版本号文件的文件夹
svnreion.bat 用于生成版本号
在svnreion.bat的代码如下:
cd .\GetVersionNumber\
:: .\GetVersionNumber\ 这个路径是相对于 “*.uvprojx” 的路径
del svn_revision_template.h /s
del svn_revision.h /s
@echo off
set n=%computername%echo #ifndef _SVN_REVISION_H_ > svn_revision_template.h
echo #define _SVN_REVISION_H_ >> svn_revision_template.h
::对应的大版本号 \r\n
echo //对应的大版本号 >> svn_revision_template.h
set Text7=#define FIRST_VERSION "1"
echo %Text7% >> svn_revision_template.h
::对应的软件版本号
echo //对应的软件版本号 >> svn_revision_template.h
set Text8=#define FIRMWARE_VERSION "0"
echo %Text8% >> svn_revision_template.h
::对应的SVN版本号
echo //对应的SVN版本号 >> svn_revision_template.h
set Text5=#define SVN_VERSION "$WCREV$"
echo %Text5% >> svn_revision_template.h
::根据规则生成的最终版本号
echo //根据规则生成的最终版本号 >> svn_revision_template.h
echo #define User_VERSION FIRST_VERSION"."FIRMWARE_VERSION"."SVN_VERSION >> svn_revision_template.hecho #define AMG_LIB_VER_SVN_VERSION "V"User_VERSION" Build $WCNOW$ by %n%" >> svn_revision_template.hecho #endif // !_SVN_REISION_H_ >> svn_revision_template.h
subwcrev.exe .\ .\svn_revision_template.h .\svn_revision.h
::pause
这*.bat文件主要是干了两件事
1, 生成了“svn_revision_template.h”文件。这个文件是有一个模板文件,
2, 调用“subwcrev.exe” 根据“svn_revision_template.h”模板文件生成“svn_revision.h”
也就是“subwcrev.exe .\ .\svn_revision_template.h .\svn_revision.h”这行命令。
在MDK的工程设置如下图:
这个的意思是在编译前,先运行这个*.bat文件。
运行后生成了有一个“svn_revision.h”文件内容如下:
#ifndef _SVN_REVISION_H_
#define _SVN_REVISION_H_
//对应的 大版本号
#define FIRST_VERSION "1"
//对应的软件版本号
#define FIRMWARE_VERSION "0"
//对应的SVN版本号
#define SVN_VERSION "1"
//根据规则生成的最终版本号
#define User_VERSION FIRST_VERSION"."FIRMWARE_VERSION"."SVN_VERSION
#define AMG_LIB_VER_SVN_VERSION "V"User_VERSION" Build 2021/01/13 12:37:12 by Freesoul"
#endif // !_SVN_REISION_H_
#宏定义 AMG_LIB_VER_SVN_VERSION 就是版本信息字符串。
MDK自动生成版本号相关推荐
- Dotnet程序集自动生成版本号
一. 版本号自动生成方法 只需把 AssemblyInfo.cs文件中的[assembly: AssemblyVersion("1.0.0.0")]改成[assembly: Ass ...
- 修改AssemblyInfo.cs自动生成版本号
一. 版本号自动生成方法 1.把 AssemblyInfo.cs文件中的[assembly:AssemblyVersion("1.0.0.0")]改成[assembly:Assem ...
- c语言自动生成版本号,单片机C程序自动产生并增加版本号
工作原理:很简单地说,运行Version.exe生成一个"version.h"头文件,文件的内容如下: #ifndef VERSION_H_INCLUDED #define VER ...
- 前端自动生成Change Log的实现
对文章的作者,我的同事黛妮表示感谢.我们一起完成了这篇文章. 这里附上原文的地址:https://www.yuque.com/rocket/rocket_doc/pyo2i1 开发目的 快速可交互的搭 ...
- VC自动生成软件版本号
VC自动生成软件版本号 flyfish 目的: 软件的版本有主版本号.子版本号.修正版本号.编译版本号 其中编译版本号与SVN服务器的版本号(Revision)自动同步. 环境 需要在本机安装Tort ...
- Android Studio生成APK自动追加版本号 自定义apk名称 指定签名证书文件
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50538148 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一 ...
- 自动生成Makefile的全过程详解
automake/autoconf入门 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefil ...
- php怎么根据接口文档实现功能,CodeIgniter+swagger实现 PHP API接口文档自动生成功能...
一.安装swagger 1.首先需要有composer,没有的自行百度安装 2.下载swagger,打开网站https://packagist.org/packages/zircote/swagger ...
- IEDA中JavaDoc的自动生成、手动生成,以及生成html文档
1 自动生成类的注释 JavaDoc就是java特有的一种注释. 1.1 配置 首先,IDEA点击File-->Settings 然后Editor-->File and Code Temp ...
最新文章
- 在Ubuntu18.04上安装opencv 3.4.1
- MySQL 的存储引擎
- 基于PYQT编写一个人脸识别软件(2)
- eclipse打开过的工程信息保存路径
- Python多继承mro示例
- php调用不存在的方法,php如何调用不存在的方法
- pyaudio usb playback_5.5寸触控屏IP电话会议USB全向麦克风NK-OAM600U_影视工业网
- 组图:2007最震撼人心的“史上最牛”事件
- 一个scrapy框架的爬虫(爬取京东图书)
- 斐波那契数列:一道100年后羊圈羊的数量算法题
- MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
- python的运行方式_Python的两种运行方式
- 网页img 居中办法
- echarts+vue3实战(1)
- 微信小程序关于wx:key的警告
- 洛谷_P2655 2038年问题(尚贤)
- 深度强化学习+启发人类的决策智能,专访一家有愿景的中国企业「启元世界」... 1
- Echarts饼图,环形图,鼠标触碰后取消默认放大效果
- 为什么电源纹波那么大?
- OpenCV学习笔记-边缘保留滤波EPF