【发布时间】:2015-06-16 08:10:54
【问题描述】:
我有一个运行 Yosemite 并支持 OpenGL 4.x 的 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。所以这可能不是问题。
【问题讨论】:
-
按照forums.macrumors.com/threads/… 的建议,我发现添加 -F"path" -framework OpenGL 添加了明显正确的路径,但是尽管我的代码请求更新版本,但它仍会加载旧版本的 OpenGL: "SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4);"
-
输出:=== OpenGL 实现 === 供应商:Intel Inc. GL 版本:4.1 INTEL-10.6.20 GL 版本(严格):4.1 GLSL 版本:4.10 错误:0:1:' ' : 不支持版本 '130' 错误: 0:2: '' : #version required and missing.
标签: c++ c macos opengl graphics