Clion-MinGW编译后的exe文件添加ico图标的操作方法
作者:胡安民
编译前准备
我们正常直接编译后生成的exe是没有任何图标的

那么很多exe程序都是有个性图标的那么在vs和qt中是比较简单的可是在Clion编译中怎么才能添加呢?
前提条件,本机必须配置好MinGW,并且环境变量也都添加了
经过自己研究发现,我们需要创建一个ico.rc文件放在项目的根目录, 然后给这个文件添加一些配置信息
id ICON "logo.ico"   //添加图标
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
    FILEVERSION 1,0,0,10
    PRODUCTVERSION 1,0,0,10
    FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
    FILEFLAGS VS_FF_DEBUG
#else
    FILEFLAGS 0x0L
#endif
    FILEOS VOS__WINDOWS32
    FILETYPE VFT_DLL
    FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "080404b0"  //支持中文
            BEGIN
                VALUE "CompanyName", "***有限公司\0"
                VALUE "FileDescription", "软件名称\0"
                VALUE "FileVersion", "1.0.0.10\0"
                VALUE "ProductVersion", "1.0.0.10\0"
                VALUE "LegalCopyright", "版权所有 (C) ***有限公司\0"
                VALUE "LegalTrademarks", "***有限公司\0"
                VALUE "OriginalFilename", "version.exe\0"
                VALUE "ProductName", "软件名称\0"
                VALUE "InternalName", "version.exe\0"
           END
        END
        
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x804, 1200  //语言-简体中文
        END        
    END
圆角制作 , 圆制作 , ioc图片制作

1.编译ico.rc>ico.o
然后将图标命名为logo.ico 放在项目的根目录,之后我们需要将ico.rc文件编译为ico.o
windres -i "ico.rc" -o "ico.o"

然后有两种方式,手动打包exe和使用Clion编译exe ,下面图片是项目结构和主文件

2.编译为执行文件exe
手动编译
进入项目的根目录然后
gcc module/calculate/calculate.c module/str/str.c ico.o -g -o main main.c
注意: module/calculate/calculate.c module/str/str.c 这些都是 main.c的依赖文件,打包的时候都需要一起带上 ,而ico.o 需要编译进exe中才会生效

Clion编译

然后我们进行编译,就会将图标和信息都添加到exe中了

效果


想要非常好看的图标,可以使用ps自行修
详细信息乱码解决

这是啥问题呢? 这是因为windows默认的是ANSI码 ,而我们使用的是UTF-8编译的ico.rc文件
解决办法使用NotePad++ 将ico.rc文件的UTF-8编码转换为ANSI码 ,然后Ctrl+s保存

之后依据上面的教程, 将ioc.rc从新编译为ioc.o文件,然后在重新打包项目为.exe ,效果如下:

修改exe图标无效
当我们想将exe的图标换成其他的图标,发现新的图标只要和旧的图标名称一样那么,自动就会变为旧的图标,这是因为windows,ico缓存的问题
解决办法 在cmd中输入下命令就行了
taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a start explorer.exe exit
到此这篇关于Clion-MinGW编译后的exe文件添加ico图标的文章就介绍到这了,更多相关Clion-MinGW添加图标内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
