Windows上使用VS2026和CMake编译LearnOpenGL项目源代码

Windows上使用VS2026和CMake编译LearnOpenGL项目源代码

关于learnopengl项目

learnopengl项目英文官方地址为:https://learnopengl.com/

如下图所示:

LearnOpenGL教程的中文翻译地址为:https://learnopengl-cn.readthedocs.io/zh/latest/ 如下图所示:

由于翻译可能无法做到精确表达原文意思,我们推荐您在对问题有疑惑的时候去阅读一下英文版的教程。如果您对翻译有更好的建议,可以去我们的GitHub工程上提交Issue或者Pull Request。

如果可以的话,请访问https://learnopengl-cn.github.io/,这里是采用新主题的网站。这里的翻译版本会比较落后一些,只会不定时更新。

https://learnopengl-cn.github.io/ 如下图所示:

通过https://learnopengl-cn.github.io/这个中文网站我们可以学习很多关于OpenGL的知识点,讲解得非常详细,还有配套代码学习参考,对新手来说很不错。

下载LearnOpenGL项目源代码

LearnOpenGL项目源代码托管在Github仓库,其地址为:https://github.com/JoeyDeVries/LearnOpenGL

如果在Windows上安装了git工具,直接运行如下命令下载源代码:

bash 复制代码
git clone https://github.com/JoeyDeVries/LearnOpenGL.git

或者

bash 复制代码
git clone git@github.com:JoeyDeVries/LearnOpenGL.git

如果没有安装git工具,可以直接下载ZIP源代码压缩包,如下图所示:

下载后的源代码目录结构如下图所示:

你可以在每一篇教程中找到在线的代码范例,但如果你想自己运行教程的Demo或者将正常工作的范例代码与你的代码进行比较,你可以在这里找到在线的GitHub代码仓库。

目前,CMakeLists.txt文件能够正常生成Visual Studio的工程文件和make文件,它能够在Windows和Linux上运行。但是它在Apple的macOS和其它的IDE上还没有进行非常完全的测试,所以如果出现问题你可以留言或者帮忙通过Pull Request来更新一下CMakeLists.txt文件让它支持不同的系统。

我非常感谢Zwookie在制作Linux的CMake脚本时提供的巨大帮助。感谢Zwookie对CMakeLists的更新,现在它能够在Windows和Linux上生成工程文件了。

你也可以查看PolytonicGlitter,它是一个非常简单的样板工程,它提供了已经预配置好的相关依赖项。

使用VS2026和CMake编译LearnOpenGL项目源代码

首先在Windows上安装好Visual Studio 2026或者其他版本的Visual Studio,同时安装好CMake,至于安装就不再赘余了。

在LearnOpenGL源代码目录下创建一个build文件夹

为了简单,我们直接使用CMake GUI工具编译运行,打开CMake GUI工具,设置好源代码目录和编译构建目录,如下图所示:

然后我们点击左下角的【Configure】按钮,选择工程的生成器,这里选择【Visual Studio 18 2026】,如下图所示:

然后点击【Finish】按钮,可以看到报错了:

说明CMakeLists.txt里面的CMake版本写得太低了,我们可以修改LearnOpenGL项目源代码中的CMakeLists.txt文件,如下图所示:

如果使用的是CMake命令行编译,在cmake命令后面指定 -DCMAKE_POLICY_VERSION_MINIMUM=3.5参数即可。

这里我们使用的CMake-GUI工具,可以直接修改LearnOpenGL源代码中根目录下的CMakeLists.txt文件,将CMake最小版本从3.0改成3.5即可。如下图所示:

然后转到CMake-GUI工具中,重新点击【Configure】按钮,如下图所示,

这会提示了CMake 3.10版本最小的版本号,在将来CMake版本中会被移除,但是不影响项目工程文件生成。

然后我们再点击【Generate】按钮,接着在E:\projects\VS2026Projects\LearnOpenGL\LearnOpenGL\build目录下生成了Visual Studio项目工程文件,如下图所示:

接着我们使用VS2026打开LearnOpenGL.slnx工程文件,如下图所示:

我们选中【All_BUILD】项目,在右键弹出菜单中点击【生成】,看到所有项目全部生成成功了,如下图所示:

此时在E:\projects\VS2026Projects\LearnOpenGL\LearnOpenGL\bin目录下生成了很多二进制程序,如下图所示:


例如我们运行E:\projects\VS2026Projects\LearnOpenGL\LearnOpenGL\bin\1.getting_started\Debug下的1.getting_started__2.1.hello_triangle.exe二进制程序,可以显示一个三角形,如下图所示:

参考资料

相关推荐
kakakahahahaha16 小时前
Windows笔记本重装系统的4种路径和风险边界
windows·电脑·笔记本电脑·内容运营·软件需求·重装系统
自动化监测Learner19 小时前
Windows 自带搜索太慢?Everything 安装与使用指南,全盘文件秒搜
windows·everything
天机玄正1 天前
云运维高阶二:CLI 调用 API (白名单追随)
windows·云原生
您^_^1 天前
DeepSeek-Harness v0.1.5-alpha.1更新后旧会话打不开?5 步抢救 8MB 会话照抄
人工智能·windows·个人开发·deepseek v4 pro·deepseekharness
正仪1 天前
systemd 是什么?
linux·运维·windows
小溪学编程1 天前
Java ListIterator 接口详解:双向遍历与列表修改的利器
java·开发语言·windows
2601_962364971 天前
没有 TPM2.0,还能用 Windows Hello 摄像头吗?
windows·安全·电脑
江湖人称菠萝包1 天前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter9-对话框
windows·笔记
问简1 天前
Windows11自定义分区大小安装系统
windows
sukalot1 天前
windows 驱动实例分析系列: HidHide驱动分析-HidHideClient 篇(中)
windows·驱动开发