在VS中可以通过添加资源,然后再在资源中添加Version来显示exe或者dll的版本信息。
Version的编辑界面如下图所示:
编译工程后可以查看dll的属性信息,上面编辑好的信息已经显示在属性界面上了:
单个工程当然就在这里直接编辑信息就好了,如果是多个工程的情况下,每次升级软件版本都要去修改每个Version的信息,不仅麻烦,而且容易出错和漏改。
在vs中右键点击rc文件,选择打开方式,并且选择C++源代码编辑器
打开rc文件后可以看到,rc文件其实是一种脚本语言,并且支持头文件包含和宏定义:
向下翻可以看到定义Version的源代码信息:
后面的字符串我们可以使用宏来定义:
我将此文件放在了$(SolutionDir)lib\include路径下,但是在编译过程中却出现了无法找到头文件的错误,查找原因发现在C++的附加包含目录中已经包含了该目录,并且在其他C++代码中也可以正常使用该宏:
对比rc文件中的其他头文件所在目录发现,这些头文件所在的目录是写在了VC++目录中:
于是,我将$(SolutionDir)lib\include目录放在VC++目录中:
编译通过,将下图的框选位置替换为宏后,成功修改了版本信息:
Note:被包含的头文件最后一行必须为空行,否则会编译错误