Important: Please read the Qt Code of Conduct -

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

    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!");
    return app.exec();

    I did "qmake -project", and "qmake", 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
    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