Bonjour,
J'essaye de compiler ce petit bout de code pris du tuto 1:
Ca marche parfaitement en mode console (qmake -project qmake et make)
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(); }
Mais dans CodeBlocks cela me donne:
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 -------------- 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
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.
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>
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.
Partager