在 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_32
或 x86_64
。例如freeglut-x86_64.dll
。 Windows 不太可能得到某种 "fat binary" 可以合并多个体系结构的代码。
为方便起见,将DLL 路径放入DLL 的系统搜索路径中。部署程序时,将所需的 DLL 复制到与 EXE 文件相同的目录中。
让您了解我真正想做的事情。我的目标是在 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_32
或 x86_64
。例如freeglut-x86_64.dll
。 Windows 不太可能得到某种 "fat binary" 可以合并多个体系结构的代码。
为方便起见,将DLL 路径放入DLL 的系统搜索路径中。部署程序时,将所需的 DLL 复制到与 EXE 文件相同的目录中。