我完全不懂OpenGL,所以我正在尝试在家中编译我的应用程序。在学校里,我的教授已经在实验室里设置好了一切,并且我在那里使用Linux。在家里,我使用Windows 8和Visual Studio 2013。
我正在尝试在我的应用程序中构建一个包含以下内容的球体:
#include <GL/glut.h>
#include <math.h>
#include <iostream>
因为它包含Glut.h,所以我去了http://www.opengl.org/resources/libraries/glut/glut_downloads.php#2下载这个库并尝试使用它,但是我遇到了一些问题。
我以为Windows版本已经被编译好了,但实际上不是。我原本期望在包中找到dll文件来链接我的项目属性,但没有。因此,我尝试使用CMake编译glut,但是失败了。CMake向我返回以下日志:
CMake Error: Cannot open file for write: C:/Program Files/Glut 3.7 Build/CMakeCache.txt.tmp
CMake Error: The source directory "C:/Program Files/Glut 3.7/glut-3.7" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
CMake Error: : System Error: No such file or directory
CMake Error: Unable to open cache file for save. C:/Program Files/Glut 3.7 Build/CMakeCache.txt
CMake Error: : System Error: No such file or directory
它说文件夹中没有包含CMake文件。
我下载的glut链接(应该是Windows版,但由于错误不确定)是这个http://www.opengl.org/resources/libraries/glut/glut37.zip
通常我编写Java程序,我没有很多设置IDE的头痛..所以请放心,现在我问:
我缺少什么使我的OpenGL代码运行?
cmd.exe
命令提示符与真正的类Unix shell相比简直是一个糟糕的玩笑。在Windows中,你必须使用PowerShell才能接近。如果你没有感受到zsh或bash等shell和Windows的cmd.exe之间的区别,那么你肯定没有使用过真正的shell。 - datenwolfgcc
或cl
,实际上并没有什么区别,同样的道理也适用于make
和nmake
/msbuild
。这就是你需要从命令行编译学习的全部内容。如果你不同意,那么你需要扩展你的答案,包括为什么*nix是一个更好的系统来构建坚实的基础。 - IInspectable