使用宏對產品版本號和文件版本號進行統一管理

問題描述:

在每次發佈版本時,最簡單的就是在資源(*.rc)文件中修改當前文件和產品的版本號(如a.b.c.d),但是隨着時間的推移,需要發佈的DLL越來越多,於是每次修改時意味更多的時間和精力消耗,你得一個一個的打開各個DLL中的資源文件,然後修改,而且一不小心還會將版本號弄錯。

 

解決方案:

多次這樣之後,我覺得每次都要修改各個DLL很繁瑣,既然VC支持宏開關,何不使用宏試一試呢?

新增一個文件version_ctrl.h,比如對於X.dll,定義如下宏:

 

// product

#define PRODUCTVERSION_NUM 1,0,0,0

#define PRODUCTVERSION_VALUE "1, 0, 0, 0"

 

// X.dll

#define FILEVERSION_X_NUM 1,0,0,0

#define FILEVERSION_X_VALUE "1, 0, 0, 0"

 

然後在X.dll中找到resource.h文件,在文件頭增加

#include "version_ctrl.h"

 

右鍵點擊"View Code"找開X.rc文件,找到

FILEVERSION 1,0,0,0

PRODUCTVERSON 1,0,0,0

 

FILEVERSION "..." "1, 0, 0, 0"

PRODUCTVERSION "..." "1, 0, 0, 0"

 

使用上述定義的宏替換相關字串,編譯,可以看到X.dll文件的版本信息

 

當DLL較多時,使用單一文件version_ctrl.h進行管理,需要修改版本信息時,在version_ctrl.h文件中直接修改,然後編譯相關庫,就可以看到相關庫的版本信息已經更改。

 

結論:

經過這樣的版本管理後,在隨後的發佈庫時,版本號的修改便省事多了,因爲是在單一文件中進行管理,而且哪些庫的版本號需要增加,以及與其它庫的關係,更加的清晰明瞭。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章