去掉 GLFW Windows 控制台黑窗口 -- MinGW, CMake

前情提要

在编译完Box2dtestbed 后,我尝试运行程序,体验Box2d 的物理世界……


发现问题

image
每一次运行程序都会先打开控制台窗口(如图),然后才出现图形程序界面,文本输出也显示在了上面。但是如果我不需要这控制台窗口呢?比如我不希望打开游戏需要与游戏无关的窗口。需要关闭它。


解决过程

image
image


我在查阅了大量网上资料,但各篇文章的作者提供的解决方案都对去除黑框不起作用,我翻了翻GLFW 的示例程序,发现一些示例不会弹出控制台,结合exampleCMakeList.txt 文件,我发现对应的程序有WIN32 标识(如图)。最后,尝试加入WIN32 标识,重新编译,再次运行,没有弹出黑窗口!完成。


总结

image

  • WIN32 标识是用于Windows系统下创建一个以WinMain为入口的可执行目标文件(通常入口函数为main),它不是一个控制台应用程序,而是一个GUI应用程序。当WIN32选项使用的时候,可执行目标的 WIN32_EXECUTABLE会被置位ON。
  • GLFW 程序启用该标识即可关闭黑窗口。
posted @ 2023-06-06 23:45  xzhiji  阅读(480)  评论(0)    收藏  举报