Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法
編譯前準(zhǔn)備
我們正常直接編譯后生成的exe是沒(méi)有任何圖標(biāo)的

那么很多exe程序都是有個(gè)性圖標(biāo)的那么在vs和qt中是比較簡(jiǎn)單的可是在Clion編譯中怎么才能添加呢?
前提條件,本機(jī)必須配置好MinGW,并且環(huán)境變量也都添加了
經(jīng)過(guò)自己研究發(fā)現(xiàn),我們需要?jiǎng)?chuàng)建一個(gè)ico.rc文件放在項(xiàng)目的根目錄, 然后給這個(gè)文件添加一些配置信息
id ICON "logo.ico" //添加圖標(biāo)
#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", "軟件名稱(chēng)\0"
VALUE "FileVersion", "1.0.0.10\0"
VALUE "ProductVersion", "1.0.0.10\0"
VALUE "LegalCopyright", "版權(quán)所有 (C) ***有限公司\0"
VALUE "LegalTrademarks", "***有限公司\0"
VALUE "OriginalFilename", "version.exe\0"
VALUE "ProductName", "軟件名稱(chēng)\0"
VALUE "InternalName", "version.exe\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x804, 1200 //語(yǔ)言-簡(jiǎn)體中文
END
END
圓角制作 , 圓制作 , ioc圖片制作

1.編譯ico.rc>ico.o
然后將圖標(biāo)命名為logo.ico 放在項(xiàng)目的根目錄,之后我們需要將ico.rc文件編譯為ico.o
windres -i "ico.rc" -o "ico.o"

然后有兩種方式,手動(dòng)打包exe和使用Clion編譯exe ,下面圖片是項(xiàng)目結(jié)構(gòu)和主文件

2.編譯為執(zhí)行文件exe
手動(dòng)編譯
進(jìn)入項(xiàng)目的根目錄然后
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的依賴(lài)文件,打包的時(shí)候都需要一起帶上 ,而ico.o 需要編譯進(jìn)exe中才會(huì)生效

Clion編譯

然后我們進(jìn)行編譯,就會(huì)將圖標(biāo)和信息都添加到exe中了

效果


想要非常好看的圖標(biāo),可以使用ps自行修
詳細(xì)信息亂碼解決

這是啥問(wèn)題呢? 這是因?yàn)閣indows默認(rèn)的是ANSI碼 ,而我們使用的是UTF-8編譯的ico.rc文件
解決辦法使用NotePad++ 將ico.rc文件的UTF-8編碼轉(zhuǎn)換為ANSI碼 ,然后Ctrl+s保存

之后依據(jù)上面的教程, 將ioc.rc從新編譯為ioc.o文件,然后在重新打包項(xiàng)目為.exe ,效果如下:

修改exe圖標(biāo)無(wú)效
當(dāng)我們想將exe的圖標(biāo)換成其他的圖標(biāo),發(fā)現(xiàn)新的圖標(biāo)只要和舊的圖標(biāo)名稱(chēng)一樣那么,自動(dòng)就會(huì)變?yōu)榕f的圖標(biāo),這是因?yàn)閣indows,ico緩存的問(wèn)題
解決辦法 在cmd中輸入下命令就行了
taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a start explorer.exe exit
到此這篇關(guān)于Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的文章就介紹到這了,更多相關(guān)Clion-MinGW添加圖標(biāo)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn)
這篇文章主要介紹了makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
C++無(wú)鎖數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了C++無(wú)鎖數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
老生常談C語(yǔ)言靜態(tài)函數(shù)庫(kù)的制作和使用
下面小編就為大家?guī)?lái)一篇老生常談C語(yǔ)言靜態(tài)函數(shù)庫(kù)的制作和使用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
C語(yǔ)言之關(guān)于二維數(shù)組在函數(shù)中的調(diào)用問(wèn)題
這篇文章主要介紹了C語(yǔ)言之關(guān)于二維數(shù)組在函數(shù)中的調(diào)用問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
虛函數(shù)被類(lèi)的構(gòu)造析構(gòu)函數(shù)和成員函數(shù)調(diào)用虛函數(shù)的執(zhí)行過(guò)程
虛函數(shù)被類(lèi)的構(gòu)造析構(gòu)函數(shù)和成員函數(shù)調(diào)用虛函數(shù)的執(zhí)行過(guò)程,需要的朋友可以參考下2013-02-02
OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象
這篇文章主要為大家詳細(xì)介紹了OpenCV如何使用BackgroundSubstractor(BSM)實(shí)現(xiàn)視頻中移動(dòng)對(duì)象統(tǒng)計(jì)功能,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-02-02
VsCode安裝和配置c/c++環(huán)境小白教程(圖文)
本文主要介紹了VsCode安裝和配置c/c++環(huán)境小白教程,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

