Linux QT GCC OpenGL GLEW - 向编译器添加参数

Posted

技术标签:

【中文标题】Linux QT GCC OpenGL GLEW - 向编译器添加参数【英文标题】:Linux QT GCC OpenGL GLEW - add parameters to compiler 【发布时间】:2016-05-24 16:13:54 【问题描述】:

我想用 C++ 创建示例 GLFW 文件。 当我输入 Terminal gcc FILENAME.cpp -lGL -lGLEW -lglfw 时,一切正常, 但... 当我想使用 CTRL+B 在 Qt Creator 中构建我的文件时, 我看到错误undefined reference to glfwInit。我知道我必须添加标志-lGL -lGLEW -lglfw,我尝试在我的pro 文件中添加QMAKE_CXXFLAGS += -lGL -lGLEW -lglfw,但它不起作用。

这样做的正确方法是什么?

【问题讨论】:

【参考方案1】:

错误的变量。你想要的

LIBS += -lGL -lGLEW -lglfw

【讨论】:

【参考方案2】:

您可以通过将系统库依赖项添加到您的项目来解决此问题(不需要 QMAKE_CXXFLAGS)。 如果您打开了项目,请右键单击项目名称并选择“添加库...”,单选按钮“系统包”,“下一步>”,然后键入“glfw”作为包名称(或使用 glfw3最近的版本)。 再做两次,添加包“gl”和“glew”。 您将看到以下四行已添加到您的项目中:

unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += glfw
unix: PKGCONFIG += gl
unix: PKGCONFIG += glew

现在构建(例如 CTRL-B),然后您可以运行(CTRL-R)。

我刚刚对此进行了测试,它的工作方式与 gcc 命令行完全一样(尽管我使用了 glfw3)。

这是我完整的项目文件:

QT += core
QT -= gui
TARGET = glwfeg
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += \
    ../glfwtest.cpp
unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += glfw3
unix: PKGCONFIG += gl
unix: PKGCONFIG += glew

对于glfwtest.cpp我只是用网上的“examples/simple.c”改名了。

【讨论】:

以上是关于Linux QT GCC OpenGL GLEW - 向编译器添加参数的主要内容,如果未能解决你的问题,请参考以下文章

Qt 和 GLEW:程序以代码 -1073741515 退出

Qt 项目中对 glew 方法的未定义引用

功能无法匹配GLDEBUGPROC,仅在MSVC上(使用相同的glew版本2.1.0,在linux上使用gcc / clang就可以了)

Qt Creator 中的 Glew 链接问题?

GLEW 未在 MSYS2 上定位 OpenGL 函数

在 Qt 5.x 中使用 GLEW