erreur: invalid use of ‘::’ et erreur: expected ‘;’ before ‘<’ token
Bonjour,
Je souhaite compiler une application avec cmake, sous Linux.
Après avoir créer mon CMakeLists.txt, je fais donc
Code:
1 2
| cmake -G "Unix Makefiles" .
make |
dans le répertoire contenant mon CMakeLists.txt.
J'ai alors 2 erreurs :
Citation:
In file included from /home/moi/workspace/MyProject/Sources/MainWindow.cpp:56:
/usr/local/include/externalLibraryName/externalLibraryNameCore/anIncludeFile.h:249: erreur: invalid use of ‘::’
/usr/local/include/externalLibraryName/externalLibraryNameCore/anIncludeFile.h:249: erreur: expected ‘;’ before ‘<’ token
make[2]: *** [CMakeFiles/myproject.dir/Sources/MainWindow.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/myproject.dir/all] Erreur 2
make: *** [all] Erreur 2
Les lignes 248-249 de anIncludeFile.h sont
Code:
1 2
| struct imp;
boost::shared_ptr<imp> _p; |
J'ai remarqué qu'ajouter
Code:
#include <boost/shared_ptr.hpp>
au début de anIncludeFile.h résolvait mon problème.
Mais je préférerais ne pas avoir à modifier cette librairie externe.
De plus, cette librairie externe se compile parfaitement. Donc le problème doit venir de mes CMakeLists.txt, et non pas de la librairie externe.
Qu'en pensez-vous?
Merci par avance pour votre aide.