C/C++程序添加ico图标详解

制作Ico图标文件

将图片素材进行编辑,可以截取成正方形,然后以通过在线转换图标工具转换成 ico 格式的图标文件

在这里插入图片描述

将ico图标文件放在之前编写好的 startprintservices.cpp 文件目录中

创建资源文件

接着我们创建一个文件命名为 ico.rc 的文件,添加内容如下:

A ICON "myicon.ico"

使⽤windres链接rc⽂件,链接输出⽂件扩展名为.o

windres -i ico.rc -o ico-out.o

组合编译

我们再次进行编译,将资源文件也放入进去,此时生成的exe程序文件就可以显示图标了。

g++ startprintservices.cpp ico-out.o -o startprintservices.exe

在这里插入图片描述

windress 命令介绍

windres是Windows资源编译器,用于编译Windows资源文件(.rc)为COFF对象文件(.obj)或Windows资源文件(.res)。

它是MinGW工具链的一部分,可以被Visual C++编译器使用。

windres的常用命令格式:

windres [options] input-file 

input-file是要编译的.rc资源文件。常用选项包括:

- o <output-file> :设置输出文件的名称。默认为input-file.obj或input-file.res。
- O <output-format> :设置输出文件格式。可以是obj(默认)、res或coff。
- i <include-path> :添加包含路径。用于搜索的.h头文件。
- I <resource-include-path> :添加资源包含路径。用于搜索的.rc资源文件。
- v :输出详细信息。用于调试。

举个例子,有 resource.rc 资源文件,要编译为 resource.res 命令为:

windres resource.rc -O res -o resource.res

此外,如果资源文件引用了资源定义文件 resource.h ,编译时需要指定该头文件路径:

windres resource.rc -O res -o resource.res -i D:\Code\include

windres常用于:

  1. Windows资源文件的编译。它可以将.rc文件编译为.obj对象文件或.res资源文件,然后链接到应用程序。
  2. 与非微软工具链(如MinGW或Cygwin)一起开发Windows应用程序时,编译资源文件。
  3. 手工开发和编译资源时,直接使用windres可以省去IDE的资源编辑器。
  4. 构建脚本或makefile时,在命令行编译和链接资源文件。

猜你喜欢

转载自blog.csdn.net/no1xium/article/details/130367405