Qt程式版本號之rc檔案

2021-08-05 20:55:25 字數 1721 閱讀 5752

發布出去的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 那樣通過巨集定...