Bonjour,

J'essaye de compiler ce petit bout de code pris du tuto 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.