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的**如下:
這*.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
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」檔案內容如下:
#巨集定義 amg_lib_ver_svn_version 就是版本資訊字串。#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_
python 自動生成版本號
本文適用於使用subversion版本控制的讀者.前一段時間研究了一下tortoisesvn的源 發現它使用 nant subwcrev.exe 來自動生成版本號的.subwcrev.exe 是tortoisesvn下的乙個命令列工具,安裝了tortoisesvn 就找到它.這裡補充一下tortoi...
Vsiual Studio自動生成版本號的一種方法
1 安裝nuget包msbuildtasks 2 編輯專案的csproj檔案,找到被注釋掉的target的beforebuild,去掉注釋,新增如下 如下。3 編譯專案一次就會在專案資料夾下生成 propertiesversion.txt 4 在assemblyinfo.cs檔案中包含了assemb...
android打包自動生成版本號
版本控制比較普遍的 3 種命名格式 1 gnu 風格版本號 主版本號 子版本號 修正版本號 build 編譯版本號 示例 1.0.0 build 1234 2 windows 風格版本號 主版本號 子版本號 修正版本號 編譯版本號 示例 1.0.0.1234 3 net framework 風格版本...