CodeBlocks: QApplication: No such file
Bonjour,
J'essaye de compiler ce petit bout de code pris du tuto 1:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
} |
Ca marche parfaitement en mode console (qmake -project qmake et make)
Mais dans CodeBlocks cela me donne:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
-------------- Build: default in QT Application ---------------
Running target pre-build steps
C:\Qt\4.3.3\bin\qt-prebuild.exe
qt-prebuild : running
qt-prebuild : scan started
qt-prebuild : scan completed
Compiling: main.cpp
E:\Documents\Programmes\Qt\main.cpp:1:24: QApplication: No such file or directory
E:\Documents\Programmes\Qt\main.cpp:2:23: QPushButton: No such file or directory
E:\Documents\Programmes\Qt\main.cpp: In function `int main(int, char**)':
E:\Documents\Programmes\Qt\main.cpp:6: error: `QApplication' undeclared (first use this function)
E:\Documents\Programmes\Qt\main.cpp:6: error: (Each undeclared identifier is reported only once for each function it appears in.)
E:\Documents\Programmes\Qt\main.cpp:6: error: expected `;' before "app"
E:\Documents\Programmes\Qt\main.cpp:8: error: `QPushButton' undeclared (first use this function)
E:\Documents\Programmes\Qt\main.cpp:8: error: expected `;' before "hello"
E:\Documents\Programmes\Qt\main.cpp:9: error: `hello' undeclared (first use this function)
E:\Documents\Programmes\Qt\main.cpp:12: error: `app' undeclared (first use this function)
Process terminated with status 1 (0 minutes, 1 seconds)
9 errors, 0 warnings |
Sachant que j'ai bien ajouté les dossiers où se situent les entêtes dans mon projet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="QT Application" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="qt.exe" prefix_auto="0" extension_auto="0" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
<Add directory="$(QT_DIR)\include" />
<Add directory="$(QT_DIR)\include\Qt" />
<Add directory="$(QT_DIR)\include\Qt\ActiveQt" />
<Add directory="$(QT_DIR)\include\Qt\Qt3Support" />
<Add directory="$(QT_DIR)\include\Qt\QtAssistant" />
<Add directory="$(QT_DIR)\include\Qt\QtCore" />
<Add directory="$(QT_DIR)\include\Qt\QtDBus" />
<Add directory="$(QT_DIR)\include\Qt\QtDesigner" />
<Add directory="$(QT_DIR)\include\Qt\QtGui" />
<Add directory="$(QT_DIR)\include\Qt\QtNetwork" />
<Add directory="$(QT_DIR)\include\Qt\QtOpenGL" />
<Add directory="$(QT_DIR)\include\Qt\QtScript" />
<Add directory="$(QT_DIR)\include\Qt\QtSql" />
<Add directory="$(QT_DIR)\include\Qt\QtSvg" />
<Add directory="$(QT_DIR)\include\Qt\QtTest" />
<Add directory="$(QT_DIR)\include\Qt\QtUiTools" />
<Add directory="$(QT_DIR)\include\Qt\QtXml" />
</Compiler>
<Linker>
<Add library="$(QT_DIR)\lib\libQt3Support4.a" />
<Add library="$(QT_DIR)\lib\libQtAssistantClient4.a" />
<Add library="$(QT_DIR)\lib\libQtCore4.a" />
<Add library="$(QT_DIR)\lib\libQtDesigner4.a" />
<Add library="$(QT_DIR)\lib\libQtDesignerComponents4.a" />
<Add library="$(QT_DIR)\lib\libQtGui4.a" />
<Add library="$(QT_DIR)\lib\libqtmain.a" />
<Add library="$(QT_DIR)\lib\libQtNetwork4.a" />
<Add library="$(QT_DIR)\lib\libQtOpenGl4.a" />
<Add library="$(QT_DIR)\lib\libQtSql4.a" />
<Add library="$(QT_DIR)\lib\libQtXml4.a" />
<Add directory="$(QT_DIR)\lib" />
</Linker>
<ExtraCommands>
<Add before="$(QT_DIR)\bin\qt-prebuild.exe" />
<Mode after="always" />
</ExtraCommands>
<Environment>
<Variable name="QT_DIR" value="C:\Qt\4.3.3" />
</Environment>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<envvars />
<debugger />
<lib_finder disable_auto="1" />
</Extensions>
</Project>
</CodeBlocks_project_file> |
Je comprends pas, par ex QApplication est bien dans C:\Qt\4.3.3\include\QtGui\ dossier que j'ai inclu! J'ai essayé d'inclure les dossiers en rajoutant "\" à la fin sans résultats.
CodeBlocks (La nightly build 4830) sous XP.
Qt dans C:\Qt\4.3.3 et la version de MinGW livrée avec Qt dans C:\MinGW.
Variable d'environnement QTDIR = C:\Qt\4.3.3
Dans le path: C:\Qt\4.3.3\bin
Mon projet dans E:\Documents\Programmes\Qt\
Ca marche avec qmake
Ca marche si j'inclu qapplication.h au lieu de QApplication -> il trouve qapplication.h qui est dans le même dossier mais pas QApplication. Dois-je jeter mon ordi? (ou l'interface chaise clavier peut être)
Edit: en fait il y a un autre qapplication.h dans C:\Qt\4.3.3\include\Qt
Merci d'avance.