windres 用法

本文详细介绍了如何在Windows环境下创建资源文件(.rc),包括图标文件的整合及版本信息的添加等步骤。通过WindRes和GCC命令行工具实现资源文件的编译与链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windres -o resfile.o resfile.rc
gcc -o hello hello.o resfile.o -mwindows




First you need to create a .rc file that looks something like this:


id ICON "path/to/my.ico"
Well, actually, I suppose you need to create the icon first... but anyway... the ID can pretty much anything. It doesn't matter unless you want to refer to it in your code.


Then run windres as follows:


windres my.rc -O coff -o my.res
Then you just include my.res along with your object files when you link. e.g.,


g++ -o my_app obj1.o obj2.o my.res
And that should be all there is to it. Hope it helps, I spent an entire evening tracking this down last week when porting my wxwidgets program from linux to windoze...


And, at no extra charge, if you want to include version information in your application, add the following boilerplate to your .rc file and modify appropriately:


1 VERSIONINFO
FILEVERSION     1,0,0,0
PRODUCTVERSION  1,0,0,0
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "080904E4"
    BEGIN
      VALUE "CompanyName", "My Company Name"
      VALUE "FileDescription", "My excellent application"
      VALUE "FileVersion", "1.0"
      VALUE "InternalName", "my_app"
      VALUE "LegalCopyright", "My Name"
      VALUE "OriginalFilename", "my_app.exe"
      VALUE "ProductName", "My App"
      VALUE "ProductVersion", "1.0"
    END
  END


  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x809, 1252
  END
END
Note, the langID is for U.K. English (which is the closest localisation to Australia I could identify.) If you want U.S. "English" then change the BLOCK line to:


BLOCK "040904E4"
and the translation line to:


VALUE "Translation", 0x409, 1252
See here for for info.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值