macOS命令行编译g ++ OpenGL ES .cpp文件

时间:2017-04-26 18:34:20

标签: c++ macos command-line opengl-es

my.cpp文件有#import <OpenGLES/ES2/glext.h>。我试图通过g++ -c my.cpp编译它,但fatal error: 'OpenGLES/ES2/glext.h' file not found #import <OpenGLES/ES2/glext.h>

失败

我可以使用GLKit.framework从Xcode编译它。如何从命令行在macOS中编译它?

- 编辑 -

Where are the OpenGL header files located on MacOSX?似乎相关,但它是OpenGL。我正在寻找OpenGL ES

Xcode显示的包含路径是

enter image description here

但我无法弄清楚它在文件系统中的位置是否与编译器的-I选项一起使用

1 个答案:

答案 0 :(得分:1)

解决问题的关键是指定OpenGLES位置:

g++ -c my.cpp -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhon‌​eOS.platform/Develop‌​er/SDKs/iPhoneOS10.3‌​.sdk/System/Library/‌​Frameworks -framework OpenGLES
  

-F标志表示图书馆位置,-framework   表示要使用的框架。

技术上-isysroot也可以起作用:

g++ -c my.cpp -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhon‌​eOS.platform/Develop‌​er/SDKs/iPhoneOS10.3‌​.sdk