Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode mac上缺少OpenGL标头_Xcode_Macos_Opengl - Fatal编程技术网

Xcode mac上缺少OpenGL标头

Xcode mac上缺少OpenGL标头,xcode,macos,opengl,Xcode,Macos,Opengl,我试图在mac中使用OpenGL,但当我包含glut头时,它包含OpenGL头,然后它无法找到OpenGL/gl.h头。 我在互联网上查找了这个问题,似乎这些文件应该在/System/Library/Frameworks/OpenGL.framework/Headers目录中,但这样的子目录不存在。我尝试重新安装XCode,但没有成功 关于我应该如何进行的任何建议 一些细节: 以下是/System/Library/Frameworks/OpenGL.framework/Versions/Curr

我试图在mac中使用OpenGL,但当我包含glut头时,它包含OpenGL头,然后它无法找到
OpenGL/gl.h
头。 我在互联网上查找了这个问题,似乎这些文件应该在
/System/Library/Frameworks/OpenGL.framework/Headers
目录中,但这样的子目录不存在。我尝试重新安装XCode,但没有成功

关于我应该如何进行的任何建议

一些细节:
以下是
/System/Library/Frameworks/OpenGL.framework/Versions/Current
的外观:

localhost@Current$ ls -la
total 368
drwxr-xr-x   7 root  wheel     238 Oct  7  2012 .
drwxr-xr-x   4 root  wheel     136 Oct  7  2012 ..
drwxr-xr-x  16 root  wheel     544 Oct  7  2012 Libraries
-rwxr-xr-x   1 root  wheel  185184 Oct  3  2012 OpenGL
drwxr-xr-x   3 root  wheel     102 Jun 16  2011 PlugIns
drwxr-xr-x  14 root  wheel     476 Oct  7  2012 Resources
drwxr-xr-x   3 root  wheel     102 Oct  7  2012 _CodeSignature

谢谢大家

在我所有的OS X开发机器上,我有:
/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers

我甚至有针对目标版本的SDK:

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/gl.h /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/gl.h


无论文件位于何处,它位于
../Library/Frameworks/OpenGL.framework/..
中这一事实表明,您需要将
-framework OpenGL
添加到编译器/链接器开关中,以便正确定位包含和库。

对于其他遇到此问题的人来说,解决方案相当简单。问题是可能并不是所有的命令行工具都已安装,所以关键是要安装它们。您只需要按照post中的建议安装缺少的所有命令行工具。然后你会有一个漂亮的OpenGL hello world平稳运行:在mavericks(10.9)中,这些被移动了。/System/Library/Frameworks中的内容不再有任何开发标题;它似乎纯粹是框架的部署构建。因此,安德斯是对的——他正在寻找他被告知要寻找的地方,但他正在寻找的文件根本不在那里

相反,XCode本身将这些存储在其安装的一部分中—XCode为各种版本的OS X提供了多个SDK,其中包含这些库的头文件。例如:


/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/

我不确定。我在一段时间前安装了XCode,然后,当再次重新安装它时,它没有要求这个选项。我会深入调查的。非常感谢。顺便说一句,OpenGL.Frameworks/中没有Headers目录。@Andrés:不应该有一个开始的目录-它应该是
OpenGL.framework/Versions/Current/Headers
,大多数时候它都是指向
OpenGL.framework/Versions/a/Headers
的符号链接。看看更新的问题。OpenGL.framework/目录中没有这样的子目录。@Andrés:我完全没有主意了。从4.0版开始,他们一定在Xcode中做了一些更改。我能想到的最后一件事是
ls-lAr”/System/Library/Frameworks/OpenGL.framework/Versions/“
也许你有多个版本,一个用于二进制分发,一个用于编译?你可能应该
接受这个答案,这样人们就不会认为这个问题还没有解决;)
[ andon@Aleph : ~ ] ls -lA "/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers"
total 1464
-rw-r--r--  1 root  wheel   557B Mar  3  2010 CGLContext.h
-rw-r--r--  1 root  wheel   381B Mar  3  2010 CGLCurrent.h
-rw-r--r--  1 root  wheel   389B Mar  3  2010 CGLDevice.h
-rw-r--r--  1 root  wheel    14K Mar  3  2010 CGLIOSurface.h
-rw-r--r--  1 root  wheel   128K Mar  3  2010 CGLMacro.h
-rw-r--r--  1 root  wheel   6.4K Feb 12  2011 CGLProfiler.h
-rw-r--r--  1 root  wheel    28K Feb 12  2011 CGLProfilerFunctionEnum.h
-rw-r--r--  1 root  wheel   1.5K Mar  3  2010 CGLRenderers.h
-rw-r--r--  1 root  wheel    14K Mar  3  2010 CGLTypes.h
-rw-r--r--  1 root  wheel   5.6K Mar  3  2010 OpenGL.h
-rw-r--r--  1 root  wheel   151K Mar  3  2010 gl.h
-rw-r--r--  1 root  wheel   267K Mar  3  2010 glext.h
-rw-r--r--  1 root  wheel   328B Mar  3  2010 gliContext.h
-rw-r--r--  1 root  wheel    63K Mar  3  2010 gliDispatch.h
-rw-r--r--  1 root  wheel    16K Mar  3  2010 glu.h
-rw-r--r--  1 root  wheel   2.6K Mar  3  2010 gluContext.h
-rw-r--r--  1 root  wheel   2.2K Mar  3  2010 gluMacro.h