不能包括GLEW,Mac,不是XCode

时间:2015-12-06 18:33:17

标签: c++ macos opengl g++ glew

我正在使用mac,但我不是在XCode编程

几个月前,我试图学习在C ++中使用OpenGL,它确实运行得很好。我正在使用GLFW,GLEW和GLM库,我能够编写.cpp文件,我可以编译和运行没有问题,并且它确实按预期工作。
我在一个不是XCode的文本编辑器中编写.cpp文件,我正在使用这一行从终端编译:

g++ input.cpp -o output -lglfw3 -lglew -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo

我使用这一行包含了GLEW库:

#include <GL/glew.h>  

它完美地运作了

然后我花了几个月的其他一些没有使用openGL的项目,现在我打算做一些需要openGL的事情,我仍然没有使用XCode,我仍在使用终端编译同样的方法,但现在我得到这个错误,当使用我之前提到的线路在终端上进行编译时:

 fatal error: 'GL/GLEW.h' file not found

这种情况甚至会发生,当我尝试完成旧项目时,虽然我没有改变任何东西,但在一个月前包括GLEW时没有造成错误。

非常清楚

#include <GL/glew.h>  

几个月前包括GLEW而没有造成任何错误,但现在工作,现在 >导致此错误:

 fatal error: 'GL/GLEW.h' file not found

我的问题是;为什么我不能像过去那样包含GLEW,以及我现在应该如何包含GLEW?这与系统的最新更新(el capitan)有什么关系吗?我是否必须使用不是GLEW的库?或者我能否在C ++中使用openGL必须停止使用mac或使用XCode开始启动?

注意:我100%肯定:我安装了GLEW;我以前能够包括GLEW;甚至可以在终端上从mac编译.cpp文件,虽然使用了openGL,而且不是的文件是用XCode编写的。

2 个答案:

答案 0 :(得分:0)

我刚刚意识到问题不仅仅是GLEW,GLM或glfw3都不再起作用了,而且我用来安装这些库(自制软件包)的软件包管理器不能在我的系统上运行( OS X 10.11.El Capitan),我不确定问题是什么,我将彻底搞清楚,但我原来的问题现在是irellavant。

答案 1 :(得分:-1)

<GL/glew.h>不是Mac OS上的标准头文件。意思是,它不是系统或Xcode安装的一部分。如果您以前在系统上使用它,除了标准开发工具之外,它还是您安装的内容的一部分。

您可能无法在当前系统上使用先前为<GL/glew.h>安装的任何软件包。您必须明确安装它,并确保您安装它的位置是包含路径的一部分。

也就是说,GLEW在Mac OS上是绝对不必要的。它用于没有当前OpenGL版本(如Windows和Linux)的头/库的系统上的扩展加载。在Mac OS上,有标题和库,其中包含系统支持的OpenGL版本的所有入口点。扩展加载器服务器没有用处。

因此,最简单的解决方案是在Mac OS上构建时简单地删除/禁用所有GLEW依赖项。