我在Ubuntu Linux和Windows上都试过这个。我无法让Qt链接任何库或任何外部库,我在LIBS += -Lpath/to/lib -llib
中尝试了几乎所有INCLUDEPATH += path/to/include/files
和.pro file
组合:
QT += opengl
TARGET = QtOpenGLExample
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp \
GLExampleWidget.cpp
HEADERS += GLWidget.h
LIBS += -L /usr/lib/ -llibQtOpenGL.so.4.6.2
当我在项目创建者中单击“Open GL”时,我注意到这是一个问题,然后它就不起作用了(即使在我尝试在.pro中乱搞之后),之前我只是觉得我做的事情是愚蠢的试图链接SFML 1.6。
P.s如果我的项目位于,是否与它有关?:
/home/aperson/Projects/ComputerProgramming/C++/OpenGLExample/
答案 0 :(得分:4)
不应该是
LIBS += -L /usr/lib/ -llibQtOpenGL.so.4.6.2
但
LIBS += -L /usr/lib/ -lQtOpenGL
因为链接器-lfoo
意味着libfoo.so
(它应该能够找到正确的文件版本,所以你不需要告诉4.6.2
)
由于LIBS
行中提及opengl
,您甚至不需要特殊的QT
。但是您应该确保已安装libqt4-opengl-dev
包。
答案 1 :(得分:2)
Qt OpenGL模块可以在Qt应用程序中轻松使用OpenGL。它提供了一个OpenGL小部件类,可以像任何其他Qt小部件一样使用它,除了它打开一个OpenGL显示缓冲区,您可以使用OpenGL API来呈现内容。
要包含模块类的定义,请使用以下指令:
#include <QtOpenGL>
要链接模块,请将此行添加到qmake .pro文件中:
QT += opengl
您可能需要链接到您的opengl库。这应该做:
LIBS += -lGL
答案 2 :(得分:1)
您拥有的项目文件似乎没问题。 QMake应该为您生成corrent -l -L命令。恕我直言,这不是问题。
你错过了opengl / Qt4套餐吗?它在Ubuntu和Debian上称为libqt4-opengl-dev。 见
在shell上键入此项以在需要时检查并安装软件包。
$ dpkg -l | grep opengl
ii libqt4-opengl 4:4.8.0-1ubuntu11 Qt 4 OpenGL module
$ aptitude install libqt4-opengl-dev
答案 3 :(得分:1)
这是因为您告诉qmake
您正在.pro文件中创建一个控制台应用程序,使其忽略所有GUI库。所以摆脱CONFIG += console
行。