【发布时间】:2015-11-05 16:56:58
【问题描述】:
我尝试使用 Qt 5.5.1 构建一个简单的 OpenGL 应用程序,一切都很好,直到我尝试使用诸如 glClearColor 之类的 openGL 本机函数调用。
小部件实际上编译并产生黑屏,但在我尝试使用任何 openGL 原生函数后,它甚至没有链接,而是产生错误:
glwidget.cpp:10: error: undefined reference to '_imp__glClearColor@16'
这是 .pro 文件:
QT += core gui opengl
CONFIG += windows
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Vehicle_simulation
TEMPLATE = app
SOURCES += main.cpp\
simulation.cpp \
glwidget.cpp
HEADERS += simulation.h \
glwidget.h
FORMS += simulation.ui
我正在使用 Desktop Qt mingw492_32 套件。 奇怪的是,我没有在 lib 文件夹中找到 libQtOpenGL.so。我的 QT 安装有问题吗?我尝试多次重新安装它,但它没有帮助。我在哪里可以下载那个特定的库?
将它链接到项目可以解决问题,但我似乎无法在任何地方找到它。
问题是 QT 安装中缺少 openGL 模块,不是我无法链接到它。
【问题讨论】:
-
@genpfault ,不要挑剔,但重复的建议是错误的。我找到了问题的根源,这是因为 QT 默认使用 ANGLE 构建,它只支持 openGL ES,不支持桌面 openGL。为了解决这个问题,我必须在其中使用 openGL 自定义构建 QT Core。如果有人遇到这个问题,我会非常乐意回答这个问题。
-
打开编译链接的示例openGL项目后,我找到了问题的根源,不是链接错误,我使用了错误的GLWIdget实现,我会尽快发布我的答案我可以编译足够的想法。