在 Visual Studio 2013 Express 中使用 OpenGL

Using OpenGL with Visual Studio 2013 Express

让您了解我真正想做的事情。我的目标是在 Visual Studio 中创建一个 c++ 程序并使用 OpenGl 在屏幕中间显示黑屏和白点。

虽然我什至可以进入编码部分,但我必须以某种方式包含 OpenGL 库。

查看 OpenGL 文档,他们说它已经安装,我只需要初始化它。

我宁愿不必做所有的初始化工作,因为它已经做了好几次,比如 FreeGLUT,但是我有 2 个我目前不明白的实际问题。

1) 如何编译 FreeGlut? 我在这里 http://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz?download

下载了 FreeGLUT 的源代码

我用 CMAKE 将其配置为 visual studio 2013 兼容项目。 但是一旦我用 Visual Studio 打开它并尝试编译它,我就会收到一堆错误消息:

Error C1083: Cannot open include file: 'EGL/egl.h': No such file or directory   c:\freeglut-3.0.0\include\gl\freeglut_std.h 136 1   One_static

2) 编译完成后,如何link 将其添加到我的 C++ 项目中,以便我可以

#include<FreeGLUT.h>

#include <GL/glut.h>

?

很有可能是CMake配置错误; EGL 用于嵌入式系统(想想 Android、机顶盒等)而不是 Windows。仔细检查 CMake 在那里做了一些明智的事情。

构建 FreeGLUT 后,将其复制到方便的地方(不要将其复制到 Visual Studio 安装目录)并将放置 FreeGLUT 的目录添加到您自己的 OpenGL 项目的编译器和链接器搜索路径(可访问在 Visual Studio 构建配置中)。

我个人将自定义构建的库放在

C:\local\include\(头文件)

C:\local\lib.lib.a.dll 文件)

我也倾向于给图书馆一个架构中缀,如 x86_32x86_64。例如freeglut-x86_64.dll。 Windows 不太可能得到某种 "fat binary" 可以合并多个体系结构的代码。

为方便起见,将DLL 路径放入DLL 的系统搜索路径中。部署程序时,将所需的 DLL 复制到与 EXE 文件相同的目录中。