目录
  • 编译前准备
  • 1.编译ico.rc>ico.o
  • 2.编译为执行文件exe
    • 手动编译
    • Clion编译
    • 效果
  • 详细信息乱码解决
    • 修改exe图标无效

      编译前准备

      我们正常直接编译后生成的exe是没有任何图标的

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      那么很多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图片制作

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      1.编译ico.rc>ico.o

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

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

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

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

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      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-MinGW编译后的exe文件添加ico图标的操作方法

      Clion编译

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

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

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      效果

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      想要非常好看的图标,可以使用ps自行修

      详细信息乱码解决

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      这是啥问题呢? 这是因为windows默认的是ANSI码 ,而我们使用的是UTF-8编译的ico.rc文件

      解决办法使用NotePad++ 将ico.rc文件的UTF-8编码转换为ANSI码 ,然后Ctrl+s保存

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

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

      Clion-MinGW编译后的exe文件添加ico图标的操作方法

      修改exe图标无效

      当我们想将exe的图标换成其他的图标,发现新的图标只要和旧的图标名称一样那么,自动就会变为旧的图标,这是因为windows,ico缓存的问题

      解决办法 在cmd中输入下命令就行了

      taskkill /im explorer.exe /f     
      cd /d %userprofile%\appdata\local
      del iconcache.db /a
      start explorer.exe
      exit
      
      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。