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.h

echo #define AMG_LIB_VER_SVN_VERSION "V"User_VERSION" Build $WCNOW$ by %n%" >> svn_revision_template.h

echo #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 就是版本信息字符串。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值