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

 更新时间:2022年07月05日 16:04:57   作者:胡安民  
这篇文章主要介绍了Clion-MinGW编译后的exe文件添加ico图标的操作方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

编译前准备

我们正常直接编译后生成的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

圆角制作 , 圆制作 , ioc图片制作

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

到此这篇关于Clion-MinGW编译后的exe文件添加ico图标的文章就介绍到这了,更多相关Clion-MinGW添加图标内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 《C++ primer plus》读书笔记(二)

    《C++ primer plus》读书笔记(二)

    本读书笔记是读了《C++ primer plus(第六版)》第五至八章的学习笔记。是C++读书笔记系列的第二篇。复习C++基础知识的可以瞄瞄。
    2014-10-10
  • 基于ROS 服务通信模式详解

    基于ROS 服务通信模式详解

    今天小编就为大家分享一篇基于ROS 服务通信模式详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 指向类成员函数的指针其实并非指针

    指向类成员函数的指针其实并非指针

    对于指向类成员的指针,必须紧记,指向类成员(非static)的指针并非指针
    2013-08-08
  • 基于C语言中段错误的问题详解

    基于C语言中段错误的问题详解

    本篇文章是对C语言中段错误的问题进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言实现飞机订票系统

    C语言实现飞机订票系统

    这篇文章主要为大家详细介绍了C语言实现飞机订票系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • C/C++实现快速排序算法的两种方式实例

    C/C++实现快速排序算法的两种方式实例

    快速排序是一种采用分治思想,在实践中通常运行较快一种排序算法,这篇文章主要给大家介绍了关于C/C++实现快速排序的两种方式的相关资料,文中给出了详细的示例代码,需要的朋友可以参考下
    2021-08-08
  • C++实现图书管理系统源码

    C++实现图书管理系统源码

    这篇文章主要为大家详细介绍了C++实现图书管理系统源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言深入讲解指针与结构体的使用

    C语言深入讲解指针与结构体的使用

    指针提供了对地址操作的一种方法,因此,使用指针可使得C语言能够更高效地实现对计算机底层硬件的操作。另外,通过指针可以更便捷地操作数组。C数组允许定义可存储相同类型数据项的变量,结构是C编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项
    2022-05-05
  • C++实现对回收站里的文件进行操作的示例代码

    C++实现对回收站里的文件进行操作的示例代码

    这篇文章主要为大家详细介绍了C++如何使用代码对回收站里的文件进行操作,譬如文件的删除与恢复等,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴快跟随小编一起学习学习吧
    2023-06-06
  • C语言实现手机电话簿管理系统

    C语言实现手机电话簿管理系统

    这篇文章主要为大家详细介绍了C语言实现手机电话簿管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06

最新评论