如何将图标添加到mingw-gcc编译的可执行文件?

在Windows中,使用mingw的gcc,是否有指定输出的exe文件是采取一个图标文件,以便exe文件显示与该图标在资源pipe理器中?

您需要先创build图标。 然后你需要创build一个如下所示的RC文件:

id ICON "path/to/my.ico" 

ID几乎可以做任何事情。 不要紧,除非你想在代码中引用它。 然后运行windres如下:

 windres my.rc -O coff -o my.res 

然后,当你链接的时候,你只需要将my.res和你的目标文件一起包含进来,例如:

 g++ -o my_app obj1.o obj2.o my.res 

这应该是所有的一切。


而且,如果您想在应用程序中包含版本信息,则无需额外付费,请将以下样本文件添加到.rc文件并进行相应的修改:

 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 

请注意,langID适用于英国英语(这是与我可以识别的澳大利亚最接近的本地化)。如果您需要美国“英语”,请将BLOCK行更改为:

 BLOCK "040904E4" 

并翻译到:

 VALUE "Translation", 0x409, 1252 

有关信息,请参阅VERSIONINFO资源 。

在RC文件中, nameID甚至不一定是一个名字,它可以只是一个整数。 只有包含空格的文件名才被引用。 代替:

 windres my.rc -O coff -o my.res 

您可以使用:

 windres my.rc my.o 
  • ICON资源

  • windres手册页