Macos 在OS X上的QT4中启用OpenGL核心配置文件

Macos 在OS X上的QT4中启用OpenGL核心配置文件,macos,qt,opengl,osx-lion,Macos,Qt,Opengl,Osx Lion,我刚刚升级到Lion,正在尝试使用GLSL 1.50进行一些实践编码,但是我无法让我的代码运行在OpenGL 2.1之上,因此在尝试编译着色器时出现“不支持版本'150'的错误” 设置如下: 我在OS x 10.7.2中使用2 x 2.8Ghz四核Xeons和GeForce 8800GT,并使用QT creator 2.3和QT版本4.7。 为了设置OpenGL上下文,我使用从QGLWidget派生的类。 由于我计划使用第二个具有类似设置的QGLWidget,我的目标是更改QGLWidget的默

我刚刚升级到Lion,正在尝试使用GLSL 1.50进行一些实践编码,但是我无法让我的代码运行在OpenGL 2.1之上,因此在尝试编译着色器时出现“不支持版本'150'的错误”

设置如下: 我在OS x 10.7.2中使用2 x 2.8Ghz四核Xeons和GeForce 8800GT,并使用QT creator 2.3和QT版本4.7。 为了设置OpenGL上下文,我使用从QGLWidget派生的类。 由于我计划使用第二个具有类似设置的QGLWidget,我的目标是更改QGLWidget的默认格式,如下所示:

QApplication应用程序(argc、argv);
QGLF格式;
f、 设置版本(3,2);
f、 setProfile(QGLFormat::CoreProfile);
QGLFormat::setDefaultFormat(f);
GUIVolumePanel*pvp=新的GUIVolumePanel(prc,x,y,z);
std::tr1::shared_ptr prog(新GUI主窗口(pvp));
然而,这似乎对我的OpenGL环境没有影响,我不知道为什么。

我在谷歌上搜索了一下,找到了它

这让我想到4.7还不能直接支持它。有一些代码张贴在那里,可能会让你去作为一个工作周围。您也可以尝试Qt4.8RC


考虑到Lion是在Qt4.7发布后发布的,我不希望它马上就能工作。

可能qt还没有通过OSX 10.7的新上下文创建进行更新。
QApplication app(argc, argv);

QGLFormat f;
f.setVersion(3, 2);
f.setProfile(QGLFormat::CoreProfile);
QGLFormat::setDefaultFormat(f);

GUIVolumePanel* pvp = new GUIVolumePanel(prc, x, y, z);
std::tr1::shared_ptr<GUIMainWindow> prog(new GUIMainWindow(pvp));