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二进制程序,可以显示一个三角形,如下图所示:

参考资料

相关推荐
夜雪一千2 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
问简12 小时前
【共享盘】ubuntu、windows
linux·windows·ubuntu
公子小六13 小时前
基于.NET的Windows窗体编程之WinForms图像控件
windows·microsoft·c#·.net·winforms
狂热开发者13 小时前
用 Typeoff 把会后口述整理成 Markdown 决策记录
人工智能·windows·macos·ios·安卓
何中应14 小时前
Windows7 虚拟机如何传文件
windows·vmware·虚拟机
一只小bit14 小时前
LangChain 核型组件与消息管理及提示词模版
windows·microsoft·langchain
ofoxcoding14 小时前
Codex Computer Use 完整指南:AI 自动操控 Mac 与 Windows 桌面实战详解
人工智能·windows·macos·ai
Nontee14 小时前
Set 这个东西,跟我一开始想的不太一样
java·linux·windows·microsoft
XUHUOJUN15 小时前
Windows Server 2025 Stretch Cluster 架构详解
windows·microsoft·azure local
大蚂蚁2号16 小时前
Fuck Stop code: VIDEO_DXGKRNL_FATAL_ERROR (0x113)
windows·系统架构