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

Linux QT GCC OpenGL GLEW - add parameters to compiler

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

正确的做法是什么?

错误的变量。你想要

LIBS += -lGL -lGLEW -lglfw

您可以通过向项目添加系统库依赖项来解决此问题(不需要 QMAKE_CXXFLAGS)。 如果您打开了项目,请右键单击项目名称和 select "Add library ..."、单选按钮 "System package"、"Next>",然后为包键入 "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"改名。