我有一個解決方案,其中包含大約8個獨立的項目,每次我執行整個解決方案的發佈版本時,我需要確保版本字符串每個項目的二進制輸出是相同的。有沒有簡單的方法來同步項目資源文件的VS_VERSION_INFO部分?在Visual Studio C++(Win32)項目中同步版本資源
4
A
回答
7
我不知道這是你想要去的方式,但.rc
文件允許包括,你可以在版本塊使用#define
值
在頭文件中定義的版本號
#define VER_MAJOR 8
#define VER_MINOR 00
#define VER_BUILD_HI 00
#define VER_BUILD_LO 021
#define VER_FLAGS VS_FF_PRERELEASE
// The Binary form of the version numbers
#define VER_FILE VER_MAJOR, VER_MINOR, VER_BUILD_HI, VER_BUILD_LO
#define VER_PRODUCT VER_MAJOR, VER_MINOR, 0, 0
#define VER_STR(arg) #arg
// The String form of the version numbers
#define VER_FILE_STRING VALUE "FileVersion", "8.0\0"
#define VER_PRODUCT_STRING VALUE "ProductVersion", "8.0\0"
使用他們在VS_VERSION_INFO
塊
#include "bversion.h" //#define values in here
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILE
PRODUCTVERSION VER_PRODUCT
FILEFLAGSMASK 0x2fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "XXX\0"
VALUE "FileDescription", "YYY\0"
VER_FILE_STRING
VALUE "InternalName", "ZZZ\0"
VALUE "LegalCopyright", "© 2009 PDQ.\0"
VALUE "LegalTrademarks", "AAA\0"
VALUE "OriginalFilename", "BBB.EXE\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "CCC\0"
VER_PRODUCT_STRING
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
引用所有項目中的一個頭文件,並在每次構建之前更改它。
1
我們使用FinalBuilder編譯我們的版本,並讓它通過文件(作爲文本文件)並使用正確的版本信息進行更新。
1
最簡單的實現方法是使用預構建步驟,爲所有資源文件調用某種腳本(sed/awk,PowerShell等),並在合適的位置放入正確的值。如果你使用SVN,那麼TortoiseSVN發行版中的SubWCRev也可以用於這部分,並且可以自動使用版本庫中的版本號作爲版本字符串。
0
您可以使用ResourceLib來編寫一段代碼來執行此操作或採用a build process that does it for you。
相關問題
- 1. 一步一步的調試器在Visual Studio C++的Win32項目
- 2. Visual Studio中的Win32 C++項目鏈接
- 3. Visual Studio 2008中的C++ Win32項目
- 4. Visual Studio Makefile項目同步
- 5. C++ visual studio資源
- 6. 如何在Visual C#項目之間同步版本?
- 7. 如何在Win32項目,Visual Studio 2010中
- 8. Visual Studio的資源組項目模板
- 9. 運行vs2005 C++項目在更高版本的visual studio中
- 10. Visual Studio「項目」參考同步問題
- 11. 在Visual Studio for Win32項目中本地化多個.rc文件
- 12. Visual Studio 2008,C#項目,獲取資源的文件路徑
- 13. Visual Studio團隊資源管理器+ VS在線同步錯誤
- 14. Visual Studio 2012 - 無法創建win32項目
- 15. visual C++中的win32項目是什麼?
- 16. Visual Studio C++在發佈版本中單步執行代碼
- 17. Visual Studio中的「生成Win32資源時出錯」,Windows 7 x64
- 18. 多版本資源
- 19. Visual Studio - 管理不同的項目版本
- 20. 管理Visual Studio項目的不同版本?
- 21. 工作目錄win32 visual studio
- 22. 兩個項目版本的同步
- 23. 讓項目在多個.NET版本中保持同步
- 24. 將C++ Win32項目編譯爲Visual Studio 2008下的.exe文件
- 25. Visual Studio 2017 C++ win32控制檯項目模板
- 26. 在Docker中構建Visual Studio C++項目
- 27. 在Visual Studio 2010中調試C++項目
- 28. 在Visual Studio C++項目中使用cusp
- 29. 在Visual Studio 2010中維護C項目?
- 30. 在Visual Studio中包含Oracle.DataAccess.dll C#項目