Sous Windows, en utilisant le gcc de mingw, est-il possible de spécifier que le fichier exe de sortie doit prendre un fichier icône, afin que le fichier exe s'affiche avec cette icône dans l'explorateur ?
Réponses
Trop de publicités?Vous devez d'abord créer l'icône. Ensuite, vous devez créer un fichier RC avec le contenu ci-dessous. Ici, nous allons le nommer comme my.rc
.
id ICON "path/to/my.ico"
En id
mentionné dans la commande ci-dessus peut être à peu près n'importe quoi. Cela n'a pas d'importance, sauf si vous voulez y faire référence dans votre code. Ensuite, exécutez windres comme suit :
windres my.rc -O coff -o my.res
Ensuite, lors de la construction de l'exécutable, avec d'autres fichiers objets et fichiers ressources, incluez my.res
que nous avons obtenu à l'étape précédente, par exemple :
g++ -o my_app obj1.o obj2.o res1.res my.res
Et ça devrait être tout ce qu'il y a à faire.
Et, sans frais supplémentaires, si vous souhaitez inclure les informations relatives à la version dans vos ajoutez le modèle suivant dans un nouveau fichier de type .rc
et suivez les étapes mentionnées ci-dessus.
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
Notez que le langID est pour l'anglais du Royaume-Uni (qui est la localisation la plus proche de l'Australie que j'ai pu identifier). Australie que j'ai pu identifier). Si vous voulez de l'"anglais" américain, changez l'attribut BLOCK
ligne à :
BLOCK "040904E4"
et la ligne de traduction à :
VALUE "Translation", 0x409, 1252
Véase Ressource VERSIONINFO pour plus d'informations.
Essayez Resource Hacker. J'ai pu faire une compilation croisée de mon projet sous Linux (WSL) et générer une icône à partir du logo de la page d'accueil. J'avais juste besoin d'un moyen simple de l'intégrer dans l'exe et ce programme a très bien fonctionné. Resource Hacker par Angus Johnson