【工程化系列】Windows平台下为可执行文件或动态库dll添加版本信息

Date: 2017/9/22
Author : SoaringLee


目录

方法一:VS工程中建立资源文件,编译即可

方法二:MinGW或者Cygwin环境下为dll或exe添加版本信息


  平常我们可以看到在Windows可执行文件中,右键属性中含有文件版本,文件名称和版本等信息,本文讲述怎么添加这些信息。

 

方法一:VS工程中建立资源文件,编译即可

     这种方法比较简单,是借助VS工程,文件版本的信息其实是通过资源文件编译进去的。

 

方法二:MinGW或者Cygwin环境下为dll或exe添加版本信息

1、打开cmd,输入:

call "%VS120COMNTOOLS%../../VC/vcvarsall.bat" 
call "E:\ProfessionalSoftware\MinGW\msys\1.0\msys.bat" 

启动VS2010编译环境和MinGW环境,这里是为了使用命令windres和rc命令。

2、创建一个test.c文件:

#include "stdio.h"
int add(int a, int b)
{
	return a + b;
}

int main(int argc, char** argv)
{
	printf("********************");
}


3、创建资源文件Res.rc文件:

1 VERSIONINFO
FILEVERSION    0,1,22,33
PRODUCTVERSION 1,0,0,0
FILEFLAGS 0x1L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x1L
BEGIN
   BLOCK "StringFileInfo"
   BEGIN 
     BLOCK "080904E4"
     BEGIN
	VALUE "CompanyName", "My Company Name"
	VALUE "FileDescription", "My excellent application"
	VALUE "FileVersion", "6000"
	VALUE "InternalName", "my_app"
	VALUE "LegalCopyright", "My Name"
	VALUE "OriginalFilename", "my_app.exe"
	VALUE "ProductName", "My App"
	VALUE "ProductVersion", "6000"
     END
   END
   BLOCK "VarFileInfo"
   BEGIN
      VALUE "Translation", 0x809, 1252
   END


4、编译链接,将资源文件rc转换成res文件,然后链接到dll或exe中

gcc -c test.c -o test.o
windres Res.rc -O coff -o obj.res
gcc -o test test.o obj.res

或者:

cl -c test.c
windres Res.rc -O coff -o obj.res
link test.obj obj.res

另外一种方法就是采用rc命令将res文件转换成rc文件。

cl -DWIN64 -c obj.c -Foobj
rc -DWIN64 -fo obj.res obj.rc 
link obj.obj obj.res

 

好的,现在就可以右键属性查看可执行文件的版本信息了。

 

 

 

 

 

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页

打赏

飞翔的鲲

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值