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

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

编译前准备

我们正常直接编译后生成的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添加图标内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • py2exe 编译ico图标的代码

    复制代码 代码如下: #setup.py from distutils.core import setup import py2exe setup( # targets to build windows = [{"script":"EDI_VIEW.py", "icon_resources": [(1, "edi.ico")]} ] )

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

    目录 编译前准备 1.编译ico.rc>ico.o 2.编译为执行文件exe 手动编译 Clion编译 效果 详细信息乱码解决 修改exe图标无效 编译前准备 我们正常直接编译后生成的exe是没有任何图标的 那么很多exe程序都是有个性图标的那么在vs和qt中是比较简单的可是在Clion编译中怎么才能添加呢? 前提条件,本机必须配置好MinGW,并且环境变量也都添加了 经过自己研究发现,我们需要创建一个ico.rc文件放在项目的根目录, 然后给这个文件添加一些配置信息 id ICON "l

  • CMD运行Intellij Idea编译后的class文件操作

    或许很多Java初学者都会用javac.java命令运行程序,运行过几次后就转向开发工具.我本人也是这样,很久没有用命令行去执行java文件了,现在都是用Eclipse.Intellij Idea等编译工具直接编译运行. 昨天开始学习<算法>,里面很多代码都用到了命令行重定向文件实现输入输出,所以昨天用命令去执行class文件时碰到了一个NoClassDeFoundError异常,网上说的也很杂,看得"一头雾水",其实还是基础不好,搞清楚原理很多问题就迎刃而解了. Idea

  • 如何解决uni-app编译后 vendor.js 文件过大

    目录 uni-app编译后vendor.js文件过大 前景 运行后发现 小程序分包后vendor还是过大 添加以下代码 uni-app编译后vendor.js文件过大 前景 采用uni-app开发的微信小程序,发布时工具提示vendor.js过大,已经跳过es6向es5转换.查看后发现编译后代码中common/vendor.js已超过500k,所以需要体积控制. HBuilderX创建的项目勾选运行–>运行到小程序模拟器–>运行时是否压缩代码 使用cli创建的项目,可以在pacakge.jso

  • 解决pyinstaller打包发布后的exe文件打开控制台闪退的问题

    解决步骤: 1.先打开一个cmd 2.cd到你的exe文件目录 3.输入    .\***.exe 以上这篇解决pyinstaller打包发布后的exe文件打开控制台闪退的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决idea 项目编译后没有class文件的问题

    问题 idea项目突然无法运行,提示找不到某个类.查看了编译输出目录out,发现没有class文件. 尝试解决 尝试删除out.重新导入项目.在gradle面板点击刷新,都没能解决问题. 问题解决 最后,点击Build->Rebuild Project解决.不明原因,先做下记录. 补充知识:IDEA项目无法引用本地Class类,而且各种报错 背景 今天从git 上下载下来的项目,在别的机器上都可以正常运行,然而到了我的机器上,就各种报错,而且本地的class文件也无法引用. 1.删掉项目,重新下

  • 基于jenkins发布编译后的class文件

    1.新建自由风格项目 2.配置参数化构建,将发布状态Status.是否重启Reboot.发布版本号Version.发布的文件file.发布的项目project.要发布的tomcat名称tomcat_name.发布的路径update_path分别设置为参数 3.先执行一次发布,会在/var/lib/jenkins/workspace生成job名的文件夹,我这里是hczd-sys_for_Onlyall 4.在job文件夹里面创建工程名,我这里是eloan,然后再创建Onlyadd,以区分是部分更新

  • python脚本打包后无法运行exe文件的解决方案

    技术栈win7+python3+selenium 之前有个需求需要实现自动化提流程,为了在任何电脑都能实现该功能,特此写了个爬虫,并将其打包成EXE文件,但在点击EXE文件是出现了问题 点击exe文件终端小黑窗一闪而过 为了看到终端是否有报错可以在该exe文件目录下输入cmd执行终端,并在终端中输入exe文件名称如下 回车后会看到报错 一开始怎么也无法找到错误所致(因为在虚拟环境都有导入selenium包),后来索性直接在windows环境下pip install selenium,成功的解决了

  • 利用vscode调试编译后的js代码详解

    前言 在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求. vscode 是一个非常棒的编辑器,内置功能强大的调试能力.经过简单的设定,就可以对 js 文件进行调试.但有时我们想要调试的内容是经过编译的,当然我们可以直接调试编译后的代码.但经过编译压缩以后的代码,可读性很差,且也可能无法分模块查看了,有什么方法进行编译前的代码调试么?答案当然是肯定的. 下面话不多说了,来一起看看详细的介绍吧. vscode 的常规调试 vscode 的调试界面在窗口最左边: 最

  • 使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法

    下面看下通过Pyinstaller打包Pygame库写的小游戏程序出现的问题解决方法 # -基于Python的Pygame库的GUI游戏 游戏内容是通过飞船发射子弹来射击外星人 空格键为开火,左右方向键移动,并设立了 不同关卡. 使用说明: 开发环境,游戏直接运行alien_invasion.exe即可,也可在具有Python3环境下运行alien_invasion.py 练习环境: Python:3.5.4 64位 pyinstall:3.3.1 pyinstall使用: pyinstalle

  • Python打包成exe文件的详细操作指南

    目录 前言 一.安装pyinstaller 1.1 安装pyinstaller,使用安装命令: 1.2 如果遇到需要更新版本请输入: 1.3 检查是否正确安装 1.4 稍等,水一下; 二.python打包成exe文件(附带图标打包) 2.1 第一种:cd到指定文件夹打包存放 2.2 第二种方法:cd到py源文件夹内打包存放 2.3最终效果 参考:命令解释 总结 前言 我原本是学C\C++,这是本人第一篇关于python的文章.请多多关照! 对于python为什么要打包成exe文件,是因为传输源文

随机推荐