当前位置:网站首页>Clion-MinGW编译后的exe文件添加ico图标
Clion-MinGW编译后的exe文件添加ico图标
2022-07-05 20:55:00 【胡安民】
编译前准备
我们正常直接编译后生成的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
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
边栏推荐
- Abnova blood total nucleic acid purification kit pre installed relevant instructions
- haas506 2.0开发教程 - 阿里云ota - pac 固件升级(仅支持2.2以上版本)
- Abnova e (diii) (WNV) recombinant protein Chinese and English instructions
- 中国管理科学研究院凝聚行业专家,傅强荣获智库专家“十佳青年”称号
- Make Jar, Not War
- Material Design组件 - 使用BottomSheet展现扩展内容(二)
- hdu2377Bus Pass(构建更复杂的图+spfa)
- Abnova丨E (DIII) (WNV) 重组蛋白 中英文说明书
- mysql全面解析json/数组
- ODPs next map / reduce preparation
猜你喜欢
Abnova DNA marker high quality control test program
Duchefa low melting point agarose PPC Chinese and English instructions
Écrire une interface basée sur flask
王老吉药业“关爱烈日下最可爱的人”公益活动在南京启动
解读协作型机器人的日常应用功能
Duchefa s0188 Chinese and English instructions of spectinomycin hydrochloride pentahydrate
PHP反序列化+MD5碰撞
ProSci LAG3抗体的化学性质和应用说明
重上吹麻滩——段芝堂创始人翟立冬游记
使用WebAssembly在浏览器端操作Excel
随机推荐
科普|英语不好对NPDP考试有影响吗 ?
Make Jar, Not War
Simple getting started example of Web Service
Where is a good stock account? Is online account manager safe to open an account
Abbkine BCA法 蛋白质定量试剂盒说明书
培养机器人教育创造力的前沿科技
当用户登录,经常会有实时的下拉框,例如,输入邮箱,将会@qq.com,@163.com,@sohu.com
请查收.NET MAUI 的最新学习资源
Careercup its 1.8 serial shift includes problems
Abnova丨DNA 标记高质量控制测试方案
学习机器人无从下手?带你体会当下机器人热门研究方向有哪些
matplotlib绘图润色(如何形成高质量的图,例如设如何置字体等)
haas506 2.0开发教程 - 阿里云ota - pac 固件升级(仅支持2.2以上版本)
systemd-resolved 开启 debug 日志
Duchefa丨低熔点琼脂糖 PPC中英文说明书
教你自己训练的pytorch模型转caffe(三)
解析创客教育的知识迁移和分享精神
教你自己训练的pytorch模型转caffe(二)
王老吉药业“关爱烈日下最可爱的人”公益活动在南京启动
Is Kai Niu 2980 useful? Is it safe to open an account