在Windows中,使用mingw的gcc,无论如何都要指定输出exe文件是采用图标文件,以便exe文件在资源管理器中显示该图标?
您需要先创建图标.然后你需要创建一个看起来像这样的RC文件:
id ICON "path/to/my.ico"
身份证几乎可以做任何事情.除非您想在代码中引用它,否则无关紧要.然后运行windres如下:
windres my.rc -O coff -o my.res
然后,您只需在链接时包含my.res和目标文件,例如:
g++ -o my_app obj1.o obj2.o res1.res my.res
这应该就是它的全部内容.
并且,如果您想在应用程序中包含版本信息,则无需额外费用,请将以下样板my.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适用于英国英语(这是我可以识别的最接近澳大利亚的本地化.)如果您想要美国"英语",请将该id
行更改为:
BLOCK "040904E4"
和翻译行:
VALUE "Translation", 0x409, 1252
有关信息,请参阅VERSIONINFO资源.
在RC文件中,nameID甚至不必是名称,它可以只是一个整数.该文件名必须唯一,如果它包含空格报价.代替:
windres my.rc -O coff -o my.res
您可以使用:
windres my.rc my.o
ICON资源
windres手册页
例