Qt不会链接任何东西

时间:2012-04-01 00:04:09

标签: c++ linux qt opengl ubuntu

我在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/

4 个答案:

答案 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)

取自QtOpenGL Module

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。 见

  1. http://packages.debian.org/sid/libqt4-opengl-dev
  2. http://packages.ubuntu.com/search?searchon=names&keywords=libqt4-opengl-dev
  3. 在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行。