2015-04-06 137 views
-1

给你一个我真正想做的事情的想法。我的目标是在Visual Studio中创建一个C++程序,并使用OpenGl在屏幕中间显示黑屏和白点。在Visual Studio 2013 Express中使用OpenGL

在我甚至可以进入编码部分之前,我必须以某种方式包含OpenGL库。

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

我宁愿不必做所有的初始化工作,因为它已经做了好几次了,比如FreeGLUT,但是我有两个真正的问题,我现在只是不明白。

1)如何编译FreeGlut? 我已经在这里下载FreeGLUT的源代码http://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz?download

我将它与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中访问构建配置)。

我个人地点customly建库在

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

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

我也倾向于给库体系结构中缀如x86_32x86_64。例如freeglut-x86_64.dll。 Windows不太可能会得到某种“胖二进制”,其中可以合并几种体系结构的代码。

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

+0

我能够编译FreeGLUT的二进制文件而没有错误,但现在我卡住了,我不知道下一步该怎么做。在输出的任何文件中找不到任何.dll .lib或.a文件。所以让我备份。我下载了FreeGLUT,解压到C:\ freeglut-3.0.0 \然后我在CMake中打开该路径,并将二进制文件构建到C \ local \ GLUT然后打开文件C \ local \ GLUT \ freeglut。在Visual Studio中sln并编译它。现在我剩下大量的文件,没有.dll,.a或.lib文件。我在哪里得到这些?一旦我得到它们,我如何将它们链接到我的OpenGL项目中? –

+0

@JeffDavenport:你做的事听起来不错。但是如果结果丢失,应该有错误消息。根据所选的构建配置,输出文件应位于“Release”或“Debug”目录中。 – datenwolf

+0

@datenwoolf:我能找到他们,他们在./lib文件夹和./bin文件夹中有大量其他无意义的文件,哈哈谢谢! –

相关问题