發布出去的win32 應用程式,可以設定版本號,滑鼠右鍵exe檔案,屬性中檢視,像這樣:
那麼問題來了,怎麼做到的?
使用.rc檔案給win32平台的程式增加版本等資訊。
但是,經常會發布出去的除了exe和dll,還有lib,再但是!貌似lib檔案不能有版本資訊。反正我沒找到辦法。
那什麼是.rc檔案?
摘要:開發windows平台應用程式管理資源的檔案。.rc檔案是管理程式icon、滑鼠、等資源的指令碼,會被編譯和鏈結到exe或dll檔案。編譯這個rc檔案要使用
rc (the rc command line),編譯出來是.res檔案
。當然,我們不會自己去編譯它了。
qt工程中怎麼使用.rc檔案?
在.pro裡指定rc_file = .rc檔案的路徑。像這樣。
還有最後乙個問題,
.rc檔案的語法啥樣的?怎麼寫?
原意鑽研的同學可以看看rc指令碼管理的資源種類:比如
bitmap
、icon
、versioninfo
等等。
fileversion
、productname、productversion
等等。都是官方的文件啦,懶的同學直接看下面的myversion.rc小例子也可以湊合用了:(具體語法我也沒深究,可用,不保證100%正確)
#if defined(under_ce)
#include
#else
#include
#endif
vs_version_info versioninfo
fileversion 1,4,1,12
fileflagsmask 0x3fl
#ifdef _debug
fileflags vs_ff_debug
#else
fileflags 0x0l
#endif
fileos vos__windows32
filetype vft_dll
filesubtype 0x0l
begin
block "stringfileinfo"
begin
block "080404b0"//simplified chinese, unicode
begin
value "filedescription", "myversion"
value "originalfilename", ""
value "productname", "my version"
value "productversion", "2.4.3.1"
endend
block "varfileinfo"
begin
value "translation", 0x804, 1200 //simplified chinese, unicode
endend
好了,加了
myversion.rc檔案,重新構建編譯工程,就帶版本資訊啦!
還想知道怎麼在程式中獲得版本資訊嗎?另一篇文章再寫吧!
獲取程式版本號
取程序版本號碼 vc 2008 控制台程式的版本資源需要手動插入 include stdafx.h include pragma comment lib,version.lib dword getver word wver1,word wver2,word wver3,word wver4 int ...
獲取版本號 nginx小技巧之隱藏版本號
比如,163映象站,我們隨意訪問乙個不存在的資源,然後看nginx返回的資訊,可以看到只返回了nginx,並沒有看到其版本號。在nginx的配置檔案新增乙個指令 server tokens off 這個指令可以新增在http,server,location中。一般直接新增在http指令塊中。ps 這...
golang程式新增版本號
這段時間專案經常發布版本,導致我們版本管理混亂。特別是在真實環境上面,沒有了版本控制軟體協助版本管理,我們無法確認程式到底是新版本還是舊版本。這給我們排查問題帶來了很大困擾。於是,我就想給程式本身打上版本號,通過程式就可以看到程式是新版本還是舊版本了。檢視資料發現golang不能像c 那樣通過巨集定...