在 Visual Studio 2013 Express 中使用 OpenGL
Posted
技术标签:
【中文标题】在 Visual Studio 2013 Express 中使用 OpenGL【英文标题】:Using OpenGL with Visual Studio 2013 Express 【发布时间】:2015-04-06 22:34:38 【问题描述】:让您了解我真正想做的事情。我的目标是在 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) 编译完成后,如何将其链接到我的 c++ 项目以便我可以这样做
#include<FreeGLUT.h>
或
#include <GL/glut.h>
?
【问题讨论】:
【参考方案1】:很可能 CMake 确实配置错了; EGL 用于嵌入式系统(想想 android、机顶盒等)而不是 Windows。仔细检查 CMake 是否在那里做了一些明智的事情。
构建 FreeGLUT 后,将其复制到方便的地方(不要将其复制到 Visual Studio 安装目录中)并将放置 FreeGLUT 的目录添加到您自己的 OpenGL 项目的编译器和链接器搜索路径(可在 Visual Studio Build 中访问)配置)。
我个人将定制的库放在
C:\local\include\
(头文件)
和
C:\local\lib
(.lib
、.a
和 .dll
文件)
我也倾向于给库一个架构中缀,比如x86_32
或x86_64
。例如freeglut-x86_64.dll
。 Windows 不太可能获得某种“胖二进制文件”,其中可以合并多个架构的代码。
为方便起见,将 DLL 路径放入 DLL 的系统搜索路径中。部署程序时,将所需的 DLL 复制到与 EXE 文件相同的目录中。
【讨论】:
我能够为 FreeGLUT 编译二进制文件而没有错误,但现在我被卡住了,我真的不知道下一步该做什么。我在输出的任何文件中都找不到任何 .dll .lib 或 .a 文件。所以让我备份。我下载了 FreeGLUT,将其解压缩到 C:\freeglut-3.0.0\ 然后我在 CMake 中打开该路径并将二进制文件构建到 C\local\GLUT 然后我打开文件 C\local\GLUT\freeglut.sln Visual Studio 并编译它。现在我留下了大量文件,没有 .dll、.a 或 .lib 文件。我从哪里得到这些?一旦我得到它们,我如何将它们链接到我的 OpenGL 项目中? @JeffDavenport:你所做的听起来是对的。但是,如果缺少结果,则应该有错误消息。输出文件应位于Release
或 Debug
目录中,具体取决于所选的构建配置。
@datenwoolf:我能找到它们,它们在 ./lib 文件夹和 ./bin 文件夹中,还有大量其他无意义的文件,哈哈,谢谢!
@JeffDavenport:嗯,那些“无意义的文件”将是编译的中间输出。他们坚持下去并不是没有意义的:在一个由多个源文件组成的编程项目中,当编辑一个源文件时,只需要重新编译那个单一的源文件。因此,您可以使用之前编译运行中的所有其他中介,并节省大量构建程序的时间。以上是关于在 Visual Studio 2013 Express 中使用 OpenGL的主要内容,如果未能解决你的问题,请参考以下文章
Intel parallel studio 2017 集成在visual studio 2013 中,现在如何集成到visual studio 2015
从 Visual Studio 2013 转换到 Visual Studio 2015 的问题
如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建
visual studio 2013 wpf 添加窗口加载和关闭函数