[résolu] C++ _ compilation impossible, vector.h non trouvé

Bonjour,
pour un projet C++/QT4, je dois compiler des sources mais je n’y arrive pas, make me dit ne pas trouver le fichier vector.h (!!)

voici le contenu du fichier .pro

TEMPLATE = app
TARGET +=
DEPENDPATH += .
INCLUDEPATH += /usr/include/qt4/Qt
LIBS += -L. -L/usr/local/lib -lmeshgen -lQGLViewer
QMAKE_CXXFLAGS_RELEASE += -Wno-deprecated
QMAKE_CXXFLAGS_DEBUG += -Wno-deprecated
QT += xml opengl

# Input
HEADERS += wlMeshGeneratorStudents.h
SOURCES += wlMeshGeneratorStudents.cxx

dans le répertoire du projet, j’ai les fichiers suivants:
isiProject.h
wlCore.h
wlMacros.h
wlMesh.h
wlMeshGenerator.h
wlMeshGeneratorStudents.h
wlPointEditor.h
wlQtSliderSpinBox.h
wlMeshGeneratorStudents.cxx
libmeshgen.so

voici l’erreur reportée par make:

tophe@grolandais2:~/MASTER/ISI/TP3bis$ make g++ -c -pipe -O2 -Wno-deprecated -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I/usr/include/qt4/Qt -I/usr/X11R6/include -I. -I. -o wlMeshGeneratorStudents.o wlMeshGeneratorStudents.cxx In file included from ./wlMeshGeneratorStudents.h:18, from wlMeshGeneratorStudents.cxx:15: ./wlMeshGenerator.h:16:20: error: vector.h: Aucun fichier ou répertoire de ce type In file included from ./wlMeshGenerator.h:15, from ./wlMeshGeneratorStudents.h:18, from wlMeshGeneratorStudents.cxx:15: ./wlCore.h: In member function ‘virtual char* wlCore::GetClassName()’: ./wlCore.h:31: warning: deprecated conversion from string constant to ‘char*’ In file included from ./wlMeshGeneratorStudents.h:18, from wlMeshGeneratorStudents.cxx:15: ./wlMeshGenerator.h: In member function ‘virtual char* wlMeshGenerator::GetClassName()’: ./wlMeshGenerator.h:35: warning: deprecated conversion from string constant to ‘char*’ In file included from wlMeshGeneratorStudents.cxx:15: ./wlMeshGeneratorStudents.h: In member function ‘virtual char* wlMeshGeneratorStudents::GetClassName()’: ./wlMeshGeneratorStudents.h:37: warning: deprecated conversion from string constant to ‘char*’ wlMeshGeneratorStudents.cxx: In constructor ‘wlMeshGeneratorStudents::wlMeshGeneratorStudents(QWidget*, int)’: wlMeshGeneratorStudents.cxx:23: warning: deprecated conversion from string constant to ‘char*’ wlMeshGeneratorStudents.cxx:24: warning: deprecated conversion from string constant to ‘char*’ make: *** [wlMeshGeneratorStudents.o] Erreur 1 tophe@grolandais2:~/MASTER/ISI/TP3bis$

la compilation fonctionne sur les pc de la salle de tp équipés d’ubuntu Hardy Heron et mes collègues de classe utilisant Ubuntu arrivent également à compiler. Malheureusement, nous ne savons (de Marseille) pas pourquoi cela ne marche pas sur mon portable Debianisé :frowning:

Dans la salle de tp, vector.h est dans le répertoire usr/include/c++/4.2/backward avec plein d’autres copains .h (alloc.h, streambuf.h, new.h, heap.h, …) alors que sur ma machine, dans usr/include/c++/4.3/backward, je n’ai pas grand chose (6 pauvres .h et 3 code source c) :cry:
Le probleme vient-il des différences entre la version 4.2 et 4.3 ?
La vérité est-elle ailleurs? j’aimerais bien comprendre… Quelqu’un peut-il m’expliquer ce disfonctionnement?

tophe@grolandais2:~/MASTER/ISI/TP3bis$ uname -r 2.6.26-1-686

Je viens d’installer GCC 4.2 en plus du 4.3 à l’aide de Synaptic.
vector.h est maintenant bien présent au même endroit que sur les pc de la salle de tp. Malheureusement, le probleme de compilation reste inchangé :cry:

En C++, on utilise pas vector.h mais vector :

Et puis, si tu fais du Qt, utilise plutôt QList ou QVector [1].

[1] http://doc.trolltech.com/4.4/containers.html#container-classes

merci, c’était bien ça.