我在这里看到了一个类似的问题:OpenGL 4.1(?) under Mavericks,但似乎该人依赖于 glut,因此该解决方案不适用。
我在OSX 10.9 (Mavericks)上,使用NVidia GeForce 650,在C++中开发,使用GLEW和GLFW。
我没有使用 xcode - 使用非常基本的 makefile 保持简单。
无论如何-我有这 5 行代码:
window = glfwCreateWindow(640,480,"hello world",NULL,NULL);
glfwMakeContextCurrent(window);
glewExperimental = GL_TRUE;
glewInit();
printf("shader lang: %s\n",glGetString(GL_SHADING_LANGUAGE_VERSION));
它打印出来
shader lang: 1.2
我假设设置 glewExperimental 应该正确处理获取核心上下文?(/另一个家伙在另一个线程中谈论的东西)
我还需要做什么才能启用最新的着色器版本?
Ps-我的完整代码在这里,包括 makefile:https ://github.com/Phildo/openglexp ,但我不确定它会有多大用处。