C++ 为什么Glew在MacOS Catalina中找不到OpenGL标题?

C++ 为什么Glew在MacOS Catalina中找不到OpenGL标题?,c++,opengl,macos-catalina,glew,C++,Opengl,Macos Catalina,Glew,升级到Catalina破坏了我的构建,三天的搜索并没有解决这个问题。在卡塔琳娜之前,这套守则运作良好 我得到的具体错误是 /usr/local/include/GL/glew.h:1217:14: fatal error: 'OpenGL/glu.h' file not found # include <OpenGL/glu.h> ^~~~~~~~~~~~~~ /usr/local/include/GL/glew.h:1217:14: note: d

升级到Catalina破坏了我的构建,三天的搜索并没有解决这个问题。在卡塔琳娜之前,这套守则运作良好

我得到的具体错误是

/usr/local/include/GL/glew.h:1217:14: fatal error: 'OpenGL/glu.h' file not found
#    include <OpenGL/glu.h>
             ^~~~~~~~~~~~~~ /usr/local/include/GL/glew.h:1217:14: 
note: did not find header 'glu.h' in
      framework 'OpenGL' (loaded from '/System/Library/Frameworks')
据我所知,“根用户发送其自己的glew副本”部分并非如此,因为对整个系统的查找搜索不会找到另一个glew.h

我的构建标志是(通过CMake设置)

其他可能相关的信息:

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

我正在运行XCode 12.0.1、XCode 12的命令工具和MacOS 10.15.7。有什么见解吗?

这显然不是理想的正确答案,而是建立了一个链接

/usr/local/include/OpenGL -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers

是一个解决了我问题的黑客。

你能在你的系统上找到文件
glu.h
吗?是的,sudo find/Library/Developer/CommandLineTools-name glu.h-print gives/Library/Developer/CommandLineTools/sdk/MacOSX10.15.sdk/system/Library/Frameworks/OpenGL.framework/Versions/a/Headers/glu.h。但是仅仅把它作为一个include目录并没有帮助,因为Glew期望的是“OpenGL/glu.h”
Headers/glu.h
不是
OpenGL/glu.h
。您还可以在目录
OpenGL
中找到标题
glu.h
?对。但是对Glew的头进行手术似乎不是答案。你为什么只是在
/Library/Developer/CommandLineTools
中查找?您是否安装了
glu.h
?似乎
glu.h
没有随
glew
一起提供。
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
/usr/local/include/OpenGL -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers