GLUT程序实现自定义图标(Windows)

 

GLUT很方便,不但像一般IDI_ICON1帮你把程序在文件管理器里的图标弄好,还帮你调winapi设定好运行时的大小图标。

 

弄一个资源文件,比如叫resource.rc,里面定义一下GLUT_ICON:

GLUT_ICON ICON glut.ico

然后编译链接即可:

rc resoure.rc

link main.obj resource.RES

这里main.obj的.obj可以省略,但是.RES不行。

 

注意链接顺序,如果把resource放在前面的话程序名字会叫resource.exe,还会报一个警告:

 

LINK : warning LNK4068: /MACHINE not specified; defaulting to IX86

 

不过很可惜,不能方便地在#pragma里面叫linker帮你链接资源文件……必须手动。#pragma里面linker只能传/xxx的参数,不能设置其他文件。

 

GLUT README原文:

MISC NOTES:

o Overlay support is not implemented, nor are there any plans to
implement it in the near future.

o To customize the windows icon, you can use the resource name
GLUT_ICON. For example, create an icon named "glut.ico", and
create a file called glut.rc that contains the following:
GLUT_ICON ICON glut.ico
then compile the glut.rc file with the following:
rc /r glut
and link the resulting glut.res file into your executable
(just like you would an object file).
Alternatively, you can simply add the glut.rc file to your
project if you are using Microsoft Developer Studio.

这里用的/r是为了不写.res后缀:

> rc /?


Microsoft (R) Windows 32位资源编译器, 版本 5.00.1472.1 - 编制 1472

Usage: rc [options] .RC input file
Switches:
/r Emit .RES file (optional)
/v Verbose (print progress messages)
/d Define a symbol
/u Undefine a symbol
/fo Rename .RES file
/l Default language ID in hex
/i

posted @   天天2023  阅读(221)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示