В Windows, используя mingw gcc, есть все равно, чтобы указать, что выходной exe файл должен взять файл значка, чтобы файл exe показывался с этим значком в проводнике?
Как добавить значок в исполняемый файл mingw-gcc?
Ответ 1
Вам нужно сначала создать иконку. Затем вам нужно создать 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 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 ресурс для информации.
Ответ 2
В файле RC имяID не обязательно должно быть именем, оно может быть просто целое число. Имя файла должно указываться только в том случае, если оно содержит пробел. Вместо из:
windres my.rc -O coff -o my.res
Вы можете использовать:
windres my.rc my.o