2015-04-06 133 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文件夾中有大量其他無意義的文件,哈哈謝謝! –

相關問題