欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法

 更新時間:2022年07月05日 16:04:57   作者:胡安民  
這篇文章主要介紹了Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

編譯前準(zhǔn)備

我們正常直接編譯后生成的exe是沒有任何圖標(biāo)的


那么很多exe程序都是有個性圖標(biāo)的那么在vs和qt中是比較簡單的可是在Clion編譯中怎么才能添加呢?

前提條件,本機(jī)必須配置好MinGW,并且環(huán)境變量也都添加了

經(jīng)過自己研究發(fā)現(xiàn),我們需要創(chuàng)建一個ico.rc文件放在項目的根目錄, 然后給這個文件添加一些配置信息

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", "軟件名稱\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", "軟件名稱\0"
                VALUE "InternalName", "version.exe\0"
           END
        END
        
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x804, 1200  //語言-簡體中文
        END        
    END

圓角制作 , 圓制作 , ioc圖片制作

1.編譯ico.rc>ico.o

然后將圖標(biāo)命名為logo.ico 放在項目的根目錄,之后我們需要將ico.rc文件編譯為ico.o

windres -i "ico.rc" -o "ico.o"  

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

2.編譯為執(zhí)行文件exe

手動編譯

進(jìn)入項目的根目錄然后

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 需要編譯進(jìn)exe中才會生效

Clion編譯

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

效果

想要非常好看的圖標(biāo),可以使用ps自行修

詳細(xì)信息亂碼解決

這是啥問題呢? 這是因為windows默認(rèn)的是ANSI碼 ,而我們使用的是UTF-8編譯的ico.rc文件

解決辦法使用NotePad++ 將ico.rc文件的UTF-8編碼轉(zhuǎn)換為ANSI碼 ,然后Ctrl+s保存

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

修改exe圖標(biāo)無效

當(dāng)我們想將exe的圖標(biāo)換成其他的圖標(biāo),發(fā)現(xiàn)新的圖標(biāo)只要和舊的圖標(biāo)名稱一樣那么,自動就會變?yōu)榕f的圖標(biāo),這是因為windows,ico緩存的問題

解決辦法 在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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • C指針原理教程之垃圾回收-內(nèi)存泄露

    C指針原理教程之垃圾回收-內(nèi)存泄露

    C語言沒有運(yùn)行時庫,無法自動壓縮使用中的內(nèi)存,縮小堆棧所需內(nèi)存空間。若只申請內(nèi)存,沒有釋放,勢必造成系統(tǒng)內(nèi)存不斷減少、丟失。長時間的運(yùn)行,最終導(dǎo)致系統(tǒng)死機(jī)。文章闡述了C語言垃圾產(chǎn)生的原因,并從引用計數(shù)、標(biāo)記一清除算法兩方面提出如何實現(xiàn)C語言的垃圾回收。
    2019-02-02
  • Qt實現(xiàn)定時器的兩種方法分享

    Qt實現(xiàn)定時器的兩種方法分享

    這篇文章主要為大家詳細(xì)介紹了Qt中實現(xiàn)定時器的兩種不同方法,文中的示例代碼講解詳細(xì),對我們了解Qt有一定的幫助,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • C語言for循環(huán)嵌套for循環(huán)在實踐題目中應(yīng)用詳解

    C語言for循環(huán)嵌套for循環(huán)在實踐題目中應(yīng)用詳解

    初學(xué)C語言,常常遇到for循環(huán)中嵌套個for循環(huán),初學(xué)者對于這種形式總是一知半解,這次我就整理了常見的for循環(huán)嵌套for循環(huán)的題目,我們一起爭取一舉拿下這類題。學(xué)廢他們,以后再見到就不怕啦!每天都要學(xué)一點(diǎn)呀。加油,奮斗的我們
    2022-05-05
  • C++中constexpr與函數(shù)參數(shù)轉(zhuǎn)發(fā)的操作方法

    C++中constexpr與函數(shù)參數(shù)轉(zhuǎn)發(fā)的操作方法

    constexpr是c++11引入的關(guān)鍵字,c++11的constexpr的函數(shù)中只是支持單句代碼,c++14限制放寬,可以在里邊寫循環(huán)及邏輯判斷等語句,本文探討關(guān)于constexpr的函數(shù)中參數(shù)的現(xiàn)象,以及如果參數(shù)是constexpr如何做轉(zhuǎn)發(fā),感興趣的朋友一起看看吧
    2024-02-02
  • C++容器vector實現(xiàn)通訊錄功能

    C++容器vector實現(xiàn)通訊錄功能

    這篇文章主要為大家詳細(xì)介紹了C++容器vector實現(xiàn)通訊錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語言靜態(tài)版通訊錄的設(shè)計與實現(xiàn)

    C語言靜態(tài)版通訊錄的設(shè)計與實現(xiàn)

    靜態(tài)版通訊錄是一種簡單的通訊錄實現(xiàn)方式,通過定義固定的數(shù)組大小來存儲聯(lián)系人信息。該方法不支持動態(tài)增刪聯(lián)系人,但具有實現(xiàn)簡單、易于理解的優(yōu)點(diǎn)。在程序設(shè)計中,需注意數(shù)組邊界溢出等問題
    2023-04-04
  • QT實現(xiàn)FTP上傳文件

    QT實現(xiàn)FTP上傳文件

    這篇文章主要為大家詳細(xì)介紹了QT實現(xiàn)FTP上傳文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • MySQL的C語言API接口

    MySQL的C語言API接口

    這篇文章主要介紹了MySQL的C語言API接口,需要的朋友可以參考下
    2015-08-08
  • c語言中return與exit的區(qū)別淺析

    c語言中return與exit的區(qū)別淺析

    c語言中return與exit的區(qū)別淺析,需要的朋友可以參考一下
    2013-03-03
  • C++ 中dynamic_cast&lt;&gt;的使用方法小結(jié)

    C++ 中dynamic_cast&lt;&gt;的使用方法小結(jié)

    將一個基類對象指針(或引用)cast到繼承類指針,dynamic_cast會根據(jù)基類指針是否真正指向繼承類指針來做相應(yīng)處理
    2013-03-03

最新評論