MDK自動生成版本號

2021-10-14 15:45:56 字數 2621 閱讀 3560

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 就是版本資訊字串。

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 風格版本...