Author Topic: QT4: "#include <QApplication>" != "#include <qapplication.h>"?  (Read 6748 times)

gerome69

  • Guest
QT4: "#include <QApplication>" != "#include <qapplication.h>"?
« on: October 30, 2006, 10:34:34 am »
Hi,
I just downloaded Codeblocks and tried my first QT4 program:

#include <QApplication>
#include <QPushButton>

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);

     QPushButton hello("Hello world!");
     hello.resize(300, 130);

     hello.show();
     return app.exec();
 }

But compilation stops with "QApplication: no such file". When I change to
#include <qapplication.h>
#include <QpushButton.h>
everything works fine.

Calling "make" from a DOS box works fine for both versions.

My project file looks like this (relevant extract):
<Compiler>
               <Add directory="k:\qt_4.1.4\include"/>
               <Add directory="k:\qt_4.1.4\include\Qt"/>
               <Add directory="k:\qt_4.1.4\include\Qt\ActiveQt"/>
               <Add directory="k:\qt_4.1.4\include\Qt\Qt3Support"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtAssistant"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtCore"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtDesigner"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtGui"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtMotif"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtNetwork"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtNsPlugin"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtOpenGL"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtSql"/>
               <Add directory="k:\qt_4.1.4\include\Qt\QtXml"/>
            </Compiler>
            <Linker>
               <Add library="libQt3Support4.a"/>
               <Add library="libQtAssistantClient.a"/>
               <Add library="libQtCore4.a"/>
               <Add library="libQtDesigner4.a"/>
               <Add library="libQtDesignerComponents4.a"/>
               <Add library="libQtGui4.a"/>
               <Add library="libqtmain.a"/>
               <Add library="libQtNetwork4.a"/>
               <Add library="libQtOpenGl4.a"/>
               <Add library="libQtSql4.a"/>
               <Add library="libQtXml4.a"/>
               <Add directory="k:\qt_4.1.4\lib"/>
            </Linker>

Doesn't it look already:

In the directory "k:\qt_4.1.4\include\Qt\QtCore" there's "QApplication" with just one line "#include <qapplication.h>" to include the "real" header. And "qapplication.h" is in the same directory.

Can anybody explain to me why this strange behaviour happens and - more important - how to solve it.

Greetings, Gérôme from Berlin in Germany