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