在 Mac osx 下将 OpenGL 链接到 Qt Creator

Posted

技术标签:

【中文标题】在 Mac osx 下将 OpenGL 链接到 Qt Creator【英文标题】:link OpenGL to Qt Creator under Mac osx 【发布时间】:2014-10-19 20:14:42 【问题描述】:

我正在尝试将 OpenGL 链接到我的 Qt .pro 文件。我已经正确安装了 SDL 库,这是我的 .pro 文件:

QT += opengl
INCLUDEPATH += /Library/Frameworks/SDL.framework/Versions/A/Headers
LIBS += -framework Cocoa -framework SDL
LIBS += -F/Library/Frameworks

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

HEADERS += \
           SDLMain.h

OBJECTIVE_SOURCES += \
          SDLMain.m

问题是 QtCreator 仍然找不到 #include <GL/gl.h>#include <GL/glu.h>。错误信息是:

/Users/Anass/testsdl/main.cpp:42: erreur : 'GL/glu.h' 文件未找到

你能帮帮我吗?

【问题讨论】:

你能分享错误信息吗?我不清楚您所说的“#include 和 #include 仍然找不到”是什么意思。 对不起,我想说的是,当我输入:#include #include 错误消息是:/Users/Anass/testsdl/main .cpp:42: erreur : 'GL/glu.h' 文件未找到 【参考方案1】:

好吧,如果你想使用 OpenGL,你也必须添加 OpenGL 框架。

【讨论】:

我加了,看看我的 .pro 文件:QT += opengl @Anouss:那只是添加了QtOpenGL模块,而不是MacOS-X OpenGL框架,这是一个单独的东西。【参考方案2】:

这些不是 Mac OS 上正确的头文件名:

#include <GL/gl.h>
#include <GL/glu.h>

在 Mac OS 上,对于属于框架的头文件,包含文件名的第一部分是框架的名称。在这种情况下,这是OpenGL。因此,包含语句需要:

#include <OpenGL/gl.h>
#include <OpenGL/glu.h>

还要确保通过将-framework OpenGL 添加到链接选项来链接OpenGL 框架。

【讨论】:

以上是关于在 Mac osx 下将 OpenGL 链接到 Qt Creator的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 GLEW (mac,c++) 在 openGL 中绘制任何内容

如何在 osx 上使用 waf 链接 opengl 和 glut?

在 OSX 上链接 OpenGL 框架

如何在 Mac OSX 的 pyqt 应用程序中停用命令 + Q 键?

Mac 上的 G++ 链接时优化 - 编译器/链接器错误?

OpenGL 函数未定义 OSX