Windows下vs中对DLL、exe文件添加属性信息

  • Post author:
  • Post category:其他


一直以来发布的SDK或可执行文件,版本控制都是在内部函数实现,偶然发现居然可以通过右键属性直接查看版本等信息,顿时觉得很不专业,惭愧惭愧。

这里主要针对动态库DLL文件,exe文件也是一样的。



1. 建立一个动态库项目

	这里用的是vs2015,直接使用模板创建项目即可
  1. 添加新项目

    在这里插入图片描述
  2. 选择动态库DLL

    在这里插入图片描述
  3. 创建完直接编译即可,生成的DLL文件,属性中可以看到,信息是空的

    在这里插入图片描述



2. 给DLL文件添加属性信息

这里有两种方法:

  1. 使用vs新建资源文件rc,然后直接在vs资源视图中修改属性信息。
  2. 自己创建rc资源文件,手动写入信息;(这里可以创建一个头文件,用于存放宏定义信息)

    推荐使用第二种方法



2.1 使用vs添加资源文件



2.1.1 添加版本属性资源文件

【右键项目】——【添加】——【资源】——【Version】——【添加】

会生成文件”test_version.rc”

在这里插入图片描述

在这里插入图片描述



2.1.2 修改、更新信息

在vs中,打开rc文件,直接可以修改信息。

在这里插入图片描述



2.2 自建rc文件及宏定义文件

之所以说是自建rc文件,是因为vs添加的资源文件,查看代码内容,不是很清晰,还不如在外部创建rc文件再添加进工程的好。



2.2.1 新建一个version.h的头文件(这个头文件的名字可以是任意的)

#pragma once

#define MAJOR_VERSION 1
#define MINOR_VERSION 1
#define REVISION_VERSION 0



2.2.2 新建rc文件,并添加到项目中

  1. 这里新建说的是在文件夹中右键,新建文本文件,改后缀名为.rc
  2. 【右键工程】——【添加】——【现有项】,选择刚才新建的rc文件
  3. 【右键rc文件】——【查看代码】

    在这里插入图片描述
  4. 可以看到目前rc文件内容是空的,我们加入想要的信息
#include <windows.h>
#include "version.h"

VS_VERSION_INFO VERSIONINFO
FILEVERSION     MAJOR_VERSION, MINOR_VERSION, REVISION_VERSION, 0
PRODUCTVERSION  MAJOR_VERSION, MINOR_VERSION, REVISION_VERSION, 0
BEGIN
	BLOCK"StringFileInfo"
	BEGIN
		BLOCK"040904E4"
		BEGIN
			VALUE"CompanyName", "xxx"
			VALUE"FileDescription", "xxx sdk"
			VALUE"FileVersion", MAJOR_VERSION, MINOR_VERSION, REVISION_VERSION, 0
			VALUE"LegalCopyright", "Copyright 2020-2022 xxx"
			VALUE"OriginalFilename", "xxx"
		END
	END

	BLOCK"VarFileInfo"
	BEGIN
		VALUE"Translation", 0x409, 1252
	END
END



2.3 查看效果

编译完成后,右键DLL文件,即可看到。

在这里插入图片描述



版权声明:本文为ShareProgress原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。