我正在尝试在mac中使用OpenGL,但是当我包含过量标题时,它包含一个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
谢谢大家
答案 0 :(得分:4)
对于遇到此问题的其他人来说,解决方案相当容易。问题是可能并非所有命令行工具都已安装,因此关键是要安装它们。您只需按照this帖子中的建议操作,并安装所有缺少的命令行工具。那么你将有一个漂亮的OpenGL hello世界顺利运行:D:D
答案 1 :(得分:3)
在小牛队(10.9),这些被移动了。 / System / Library / Frameworks中的东西不再有任何开发头;它似乎纯粹是框架的部署版本。所以,Andés是对的 - 他正在寻找他被告知要看的确切位置,但他正在寻找的文件根本就不存在。
相反,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 /
答案 2 :(得分:0)
在我的所有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
...
[ 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
无论文件位于何处,它位于.../Library/Frameworks/OpenGL.framework/...
中的事实表明您需要将-framework OpenGL
添加到编译器/链接器开关中,以便正确定位包和库。