Clion-MinGW編譯后的exe文件添加ico圖標的操作方法
編譯前準備
我們正常直接編譯后生成的exe是沒有任何圖標的

那么很多exe程序都是有個性圖標的那么在vs和qt中是比較簡單的可是在Clion編譯中怎么才能添加呢?
前提條件,本機必須配置好MinGW,并且環(huán)境變量也都添加了
經過自己研究發(fā)現(xiàn),我們需要創(chuàng)建一個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.編譯為執(zhí)行文件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保存

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

修改exe圖標無效
當我們想將exe的圖標換成其他的圖標,發(fā)現(xiàn)新的圖標只要和舊的圖標名稱一樣那么,自動就會變?yōu)榕f的圖標,這是因為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添加圖標內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
makefile如何調用靜態(tài)庫的方法實現(xiàn)
這篇文章主要介紹了makefile如何調用靜態(tài)庫的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
C++無鎖數(shù)據(jù)結構實現(xiàn)示例詳解
這篇文章主要為大家介紹了C++無鎖數(shù)據(jù)結構實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
虛函數(shù)被類的構造析構函數(shù)和成員函數(shù)調用虛函數(shù)的執(zhí)行過程
虛函數(shù)被類的構造析構函數(shù)和成員函數(shù)調用虛函數(shù)的執(zhí)行過程,需要的朋友可以參考下2013-02-02
VsCode安裝和配置c/c++環(huán)境小白教程(圖文)
本文主要介紹了VsCode安裝和配置c/c++環(huán)境小白教程,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

