Problem with INCPATH



  • I'm newbie, so please have patience with me.
    I'm using Ubuntu and I have installed Qt 5.1.0 from .run file. QtCreator 2.8 got installed also.
    I added these lines to my .bashrc file:
    @
    export QTDIR=/opt/Qt5.1.0/5.1.0/gcc
    export PATH=$QTDIR/bin:$PATH
    export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
    @

    I tried to comile simple example application:
    @
    #include <QApplication>
    #include <QLabel>

    int main(int argc, char *argv[])
    {
    QApplication app(argc,argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
    }
    @

    I did "qmake -project", and "qmake hello.pro", and then I typed "make".
    And that gives me error:
    "hello.cpp:1:24: fatal error: QApplication: No such file or directory
    compilation terminated."

    The problem seems to be in qmake. When I make project with QtCreator it's Makefile has different INCPATH variable, and this phase goes without problem (there are other problems but it's another question).
    This is INCPATH variable in Makefile created through QtCreator:

    "INCPATH = -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I../helloQtCreator -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I. -I. -I."

    And this one is created by qmake through terminal:

    "INCPATH = -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I. -I. -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I."

    Project names are different but why qmake doesn't include
    "-I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets"
    when started manualy from terminal?
    And how can I fix it?

    Thank you.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    You are missing

    @QT += widgets@

    in your pro file.

    You can compare the pro files generated by QtCreator and the one by qmake. QtCreator knows that you want to do a widget application so it adds a similar line with a check for Qt4/Qt5 compatibility. qmake doesn't know that so it's up to you to add it.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.