当我使用 SDL2 函数 SetWindowIcon() 函数时,图标仅在窗口中设置,而不是在 .exe 文件中设置,这意味着当将其固定在我的任务栏中时,我会看到 。
SDL2功能
SDL_Surface *iconSurface = IMG_Load("./src/Assets/img/Logo/icon.ico");
SDL_SetWindowIcon(window, iconSurface);
SDL_FreeSurface(iconSurface);
.rc 文件
MAIN ICON "File"
和
MAINICON ICON "File"
Makefile内容:
all:
cls
g++ -I src/include -L src/lib -o TKM main.cpp src/include/manmade/Class/* src/include/manmade/Components/* src/include/manmade/Part/* -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf
./TKM
编码环境:
OS : Windows
Text Editor : VScode
Project build with a Makefile
您在评论中回答这个问题是@HolyBlackCat。我只是将其放在答案部分并提供更多详细信息。
我也添加观看一些视频和网站,以获取 C++ 和 SDL2 知识。
第1步.创建.rc文件。
第2步.在.rc文件中写入这行代码:
MAIN ICON "./thePath/of/yourImage.ico"
步骤 3. 在终端中启动此命令:
windres -i yourRCFileName.rc -o yourRCFileName.o
步骤 4. 通过将 .o 文件的名称放在 main.cpp 后面,与 .o 文件和 Makefile 建立链接,如下所示:
all:
cls
g++ -I src/include -L src/lib -o test main.cpp yourRCFileName.o -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf
./test
图像必须是 .ico,否则您将收到以下错误消息:
C:\mingw64\bin\windres.exe: icon file `./src/Assets/img/apple.png' does not contain icon data
您可以使用https://icoconvert.com/等网站来转换您的图像,但他们只接受这些图像:
PNG, JPG or BMP image( maximum size: 50 MB )