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é 
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) 
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