VS開發中自動版本號的設定-SubWCRev命令
SubWCRev這個命令是TortoiseSVN\bin下的命令;
所以前提是你的開發機需要確認安裝了SVN的客戶端,並且你本機的程式碼是SVN上down下來的,也就是程式碼需要是一個working copy;
下面說一下如何使用:
1. 假如你的工程內有一個version.h的標頭檔案,如下:
-
#ifndef VERSION_H_
-
#define VERSION_H_
-
#define VERSION_STR "1.2872"
-
#define VERSION_NUM 1,2872
-
#if 1
-
#pragma message("warning: local modification found ,please make sure source is updated,when bulid release package")
-
#endif
-
#endif
標頭檔案內VERSION_STR和VERSION_NUM兩個巨集是工程需要使用的版本號,我們需要讓第2位,也就是2872這個數字變化,每次獲取SVN上最新的Revision;
2. 準備一個version.temp.h的標頭檔案(檔名、路徑可以自由),內容如下:
-
#ifndef VERSION_H_
-
#define VERSION_H_
-
#define VERSION_STR "1.$WCREV$"
-
#define VERSION_NUM 1,$WCREV$
-
#if $WCMODS?1:0$
-
#pragma message("warning: local modification found ,please make sure source is updated,when bulid release package")
-
#endif
-
#endif
和version.h對比一下,我們可以看到我們想要變化的小版本號位置,使用了變數代替,變數含義可以參考下表;
3. 然後開始使用subwcrev.exe此命令,格式如下,
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
具體命令引數及內容,可以參考原版地址
https://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-subwcrev.html
按照我個人的習慣,寫一個批處理autoversion.bat
-
echo on
-
subwcrev.exe ./ "version/version.temp.h" "version.h"
version.temp.h此檔案我放在了工程目錄下的version路徑下,subwcrev會獲取SVN的工程提交版本號,替換此檔案內的變數;然後使用temp檔案替換工程使用檔案version.h
4. VS 工程右鍵-屬性
預編譯事件中,將命令列新增上此bat的名字;(也可以在這直接寫subwcrev.exe ./ "version/version.temp.h" "version.h")
設定ok,可以使用了;
相關文章
- Vim中設定括號自動補全
- 【PE】利用SVN的SubWCRev.exe管理同步專案的版本號
- systemctl 命令設定開機自啟動失敗
- 電腦開機自動撥號上網怎麼設定?電腦自動撥號上網的設定方法步驟
- centos自動登入帳號設定CentOS
- 自動增加 Android App 的版本號AndroidAPP
- VS設定release版本可除錯除錯
- vscode怎麼設定html標籤自動補全? vscode自動補全html的技巧VSCodeHTML
- Linux、UNIX設定開機自動執行命令、指令碼配置Linux指令碼
- win10怎麼自動開啟自動設定時間_win10開啟自動設定時間的步驟Win10
- 在CMakeLists.txt中設定版本號,並在程式碼中呼叫
- word 2010表格自動編號設定
- Windows 10中設定自動登入Windows
- [ubuntu]設定開機自啟動程式的方法Ubuntu
- 全志 A64開發板設定qt程式自啟動QT
- 關閉windows更新、設定自啟動、提高開發機效能Windows
- 如何設定路由器自動撥號連線上網路由器
- 路由器怎麼設定自動撥號上網?路由器
- Unity中的自動更新目錄結構設定Unity
- vscode中prettier設定VSCode
- Jenkins持續部署-自動生成版本號Jenkins
- win10如何設定自動關機命令_windows10自動關機命令是什麼Win10Windows
- 設定Mac電腦快速自動開機的技巧Mac
- 設定開機自啟動nginx和httpdNginxhttpd
- AIX 開機自啟動指令碼設定AI指令碼
- 用於Spring Boot開發的VSCode設定 - StefanSpring BootVSCode
- 設定Linux關機時自動執行指定命令Linux
- 用ntdsutil命令中的restore object 更新版本號RESTObject
- 面向前端開發人員的VSCode自動化外掛前端VSCode
- oracle自動歸檔的設定Oracle
- 自動設定CLASSPATH的方法 (轉)
- 小程式客服如何設定自定義關鍵詞自動回覆的開發方案。
- 軟體開發中的自動化測試
- win10系統怎麼設定自動關機和取消自動關機的bat命令Win10BAT
- 設定msyqlphp-fpm開機自動啟動指令碼PHP指令碼
- centos7.5 設定Mysql開機自啟動CentOSMySql
- 設定Oracle資料庫開機自啟動Oracle資料庫
- windows下redis設定redis開機自啟動WindowsRedis