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"改名。
我想用 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"改名。