编译版本的自修改问题解决办法
2016-03-18 14:54
417 查看
编译VC++工程,自动修改目标文件的BUILD版本号。使用makeversion.exe,http://www.codeproject.com/Articles/10472/Add-Build-Date-and-Autoincrement-Build-Number
。
点击打开链接
1、将资源文件中的版本信息,剪切到RC2文件中,修改如下:
//// Version//#include "version.h"
VS_VERSION_INFO VERSIONINFOFILEVERSION VERSION_NUMBERPRODUCTVERSION VERSION_NUMBERBEGINBLOCK "StringFileInfo"BEGINBLOCK "080404b0"BEGIN
VALUE "CompanyName", VERSION_COMPANY VALUE "FileVersion", VERSION_STRING "\0"VALUE "LegalCopyright", VERSION_COPYRIGHT "\0"VALUE "LegalTrademarks", VERSION_TRADEMARK "\0"VALUE "ProductVersion", VERSION_STRING "\0"VALUE "FileDescription", DESCROPTION_STRINGVALUE
"ProductName", PRODUCTNAME
ENDENDBLOCK "VarFileInfo"BEGINVALUE "Translation", 0x804, 1200ENDEND
2、在version.h中添加如下宏定义,其中version.ver由makeversion.exe自动生成。
#include "version.ver"
#define _STR(x) #x#define STR(x) _STR(x)
#define VERSION_NUMBER VERSION_MAJOR,VERSION_MINOR,VERSION_QFE,VERSION_BUILD#define VERSION_STRING STR(VERSION_MAJOR) "." STR(VERSION_MINOR) "." STR(VERSION_QFE) "." STR(VERSION_BUILD)#define VERSION_BUILD_DATE_TIME VERSION_BUILD_DATE " - " VERSION_BUILD_TIME
#define PRODUCTNAME "XXXXXX系统"#define VERSION_COMPANY "SmartFEP@sina.com
"#define VERSION_COPYRIGHT "©保留所有权利。"
#define VERSION_TRADEMARK "SmartFEP@sina.com"
#ifdef _AMD64_#define FILENAME_STRING "tmp64.sys"#else#define FILENAME_STRING "tmp.sys"#endif
#define MODULE_STRING "内核模块"#define DESCROPTION_STRING MODULE_STRING "(" VERSION_BUILD_DATE_TIME ")"
3、配置链接器的pre build参数,使每次编译前都执行makeversion.
makeversion.exe /inc version.ver.
若项目中工程较多,可将makeversion.exe放在VC的安装目录下
注意: makeversion.exe自动在当前工程下生成version.ver文件,无需指定绝对路径。
编译VC++工程,自动修改目标文件的BUILD版本号。使用makeversion.exe,http://www.codeproject.com/Articles/10472/Add-Build-Date-and-Autoincrement-Build-Number
。
点击打开链接
1、将资源文件中的版本信息,剪切到RC2文件中,修改如下:
//// Version//#include "version.h"
VS_VERSION_INFO VERSIONINFOFILEVERSION VERSION_NUMBERPRODUCTVERSION VERSION_NUMBERBEGINBLOCK "StringFileInfo"BEGINBLOCK "080404b0"BEGIN
VALUE "CompanyName", VERSION_COMPANY VALUE "FileVersion", VERSION_STRING "\0"VALUE "LegalCopyright", VERSION_COPYRIGHT "\0"VALUE "LegalTrademarks", VERSION_TRADEMARK "\0"VALUE "ProductVersion", VERSION_STRING "\0"VALUE "FileDescription", DESCROPTION_STRINGVALUE
"ProductName", PRODUCTNAME
ENDENDBLOCK "VarFileInfo"BEGINVALUE "Translation", 0x804, 1200ENDEND
2、在version.h中添加如下宏定义,其中version.ver由makeversion.exe自动生成。
#include "version.ver"
#define _STR(x) #x#define STR(x) _STR(x)
#define VERSION_NUMBER VERSION_MAJOR,VERSION_MINOR,VERSION_QFE,VERSION_BUILD#define VERSION_STRING STR(VERSION_MAJOR) "." STR(VERSION_MINOR) "." STR(VERSION_QFE) "." STR(VERSION_BUILD)#define VERSION_BUILD_DATE_TIME VERSION_BUILD_DATE " - " VERSION_BUILD_TIME
#define PRODUCTNAME "XXXXXX系统"#define VERSION_COMPANY "SmartFEP@sina.com
"#define VERSION_COPYRIGHT "©保留所有权利。"
#define VERSION_TRADEMARK "SmartFEP@sina.com"
#ifdef _AMD64_#define FILENAME_STRING "tmp64.sys"#else#define FILENAME_STRING "tmp.sys"#endif
#define MODULE_STRING "内核模块"#define DESCROPTION_STRING MODULE_STRING "(" VERSION_BUILD_DATE_TIME ")"
3、配置链接器的pre build参数,使每次编译前都执行makeversion.
makeversion.exe /inc version.ver.
若项目中工程较多,可将makeversion.exe放在VC的安装目录下
注意: makeversion.exe自动在当前工程下生成version.ver文件,无需指定绝对路径。
相关文章推荐
- ESXi主机出现“主机上的系统日志存储在非持久存储器中”解决办法
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
- 转载:Lucene 学习资料
- Sublime Text 3 常用插件以及安装方法
- java排序
- springmvc学习笔记之一
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
- 第九天 ContentProvider(内容提供者、接受者)
- AngularJS介绍
- Jmeter 断言使用
- HDU1392Surround the Trees(凸包判断 + 求周长)
- salesforce 零基础开发入门学习(五)异步进程介绍与数据批处理Batchable
- java(DOM、SAX、JDOM、DOM4J)xml方式详解与比较
- python的【爬虫】:使用urllib爬取wiki文章,使用beautifulSoup解析html
- 读取数据
- Android加载长图那些事
- GC基础
- 使用ant脚本生成war包
- WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo