不能再包含GLEW,Mac,而不是XCode

cannot include GLEW anymore, Mac, Not XCode

本文关键字:XCode Mac 包含 GLEW 不能      更新时间:2023-10-16

我使用的是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;即使使用了openGL,也可以从终端在mac上编译.cpp文件,并且而不是的文件是用XCode编写的。

<GL/glew.h>不是Mac OS上的标准头文件。也就是说,它不是系统或Xcode安装的一部分。如果您以前在系统中安装了它,那么它是您除了安装标准开发工具之外还安装的东西的一部分。

很可能您以前安装的用于获取<GL/glew.h>的任何软件包都不在当前系统中。您必须显式安装它,并确保安装它的位置是包含路径的一部分。

也就是说,GLEW在Mac操作系统上是绝对没有必要的。它用于在没有当前OpenGL版本(如Windows和Linux)的头文件/库的系统上进行扩展加载。在Mac OS上,有包含系统支持的OpenGL版本的所有入口点的头文件和库。扩展加载程序没有任何有用的用途。

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