c++ - 在 OSX 上链接 OpenGL 框架

标签 c++ c macos opengl graphics

我有一台运行支持 OpenGL 4.x 的 Yosemite 的 Mac,但是每当我使用“-lSDL2 -framework OpenGL”标志编译 C++ 项目时,它会自动使用安装在/System/Library/Frameworks 下的 OpenGL 1.20。正确的版本安装在/Applications/XCode.app/... 的长路径中 有没有办法让 gcc 编译器正确选择 OpenGL 4.x 版本而不是旧版本?

编辑: 似乎链接哪个无关紧要,它仍在使用不正确的版本。当行“SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);”时,它似乎确实使用了正确的版本。被添加。但是它仍然说不支持 GLSL 版本 #130。所以这可能不是问题所在。

最佳答案

您可以使用 -isysroot 选项来指定特定的 SDK 位置。例如:

clang -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk ...

这将告诉编译器使用此特定 SDK 版本中的所有 header 、库等。

关于c++ - 在 OSX 上链接 OpenGL 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30862084/

相关文章:

ios - Xcode - 如何找到我的 .app 文件?

c++ - 在 C++ 中读取和写入二进制文件

c++ - 计算进行更改的方法的数量

c++ - 智能感知 : no instance of overloaded function "sqrt" matches the argument list argument types are: (double *)

c++ - Linux - 找不到 SO 文件

c - C 中的 strncpy 和 strcat 垃圾字符

node.js - 自动允许 Electron 应用程序的隐私

ios - 辅助功能标识符在 iOS 模拟器的辅助功能检查器中不可见

c++ - OpenACC - C++ 'new' 运算符问题

c - 如何编写脚本多次运行程序并将时间存储在文件中?