Problème Boost & STLPort sous Mingw (sous wxDev-C++) - C++ - Programmation
Marsh Posté le 21-10-2008 à 10:27:37
Ok,
Mauvaise interprétation de ma part, c'est la mise en page des erreurs de wxDev-C++ qui m'a mis dedans.
En fait, c'est une ligne titre, pas un message d'erreur, les erreurs viennent après
Et apparemment, j'ai des erreur sur les lib boost... il a l'air d'avoir bien fait l'include, mais je quand meme pas trouver les classes auquelles je fais référence.
Marsh Posté le 21-10-2008 à 12:04:27
Par contre, je n'ai pas résolu mon problème.
J'utilise des boost::filesystem::wpath je pense que les headers de boost (hpp) sont bien trouvés, car je vois le chemin dans les directives de compilations (et ca marche sous Visual) j'utilise un include en portée large "<>" sous la forme :
#include <boost/filesystem/path.hpp>
Je ne vois vraiment pas ce qu'il peut lui manquer.
Marsh Posté le 21-10-2008 à 18:08:00
C'est quoi le contraire de BOOST_FILESYSTEM_NARROW_ONLY ????
J'ai fait un programme tout simple pour tester boost + gcc (mingw), avec une méthode contenant
std::wstring test(L"yahoo" );
boost::filesystem::wpath toto(test);
Et bizarrement, pas de problème avec wstring, mais par contre wpath, ne passe pas
27 a.cpp `wpath' is not a member of `boost::filesystem'
Mais il se gourre !!!!
Marsh Posté le 29-10-2008 à 21:17:18
Tu as bien ajoute le repertoire des includes de boost dans le projet ? Ca ressemble exactement a ca... J'ai justement configure hier code::blocks pour boost et gcc (en fait boost::thread) et c'est passe comme sur des roulettes
Marsh Posté le 30-10-2008 à 10:56:05
Oui, je l'ai configuré, mais ca fait penser que la configuration n'est pas passée, j'ignore pourquoi.
Donc, je vais chercher dans cette direction, mais je risque de revenir vers vos conseils.
Vaut il mieux ajouter ces chemins au projet ou à l'interface ?
Marsh Posté le 30-10-2008 à 11:16:05
Perso je les mets trjrs dans les options de CB et non des projets, comme ça j'ai aps à me poser la question d ele faire. En outre ca me permets rapidos de creer un chtit fichier de test et d'avoir ttes mes libs de dispos.
Marsh Posté le 30-10-2008 à 17:01:16
J'ai fait un petit projet test, avec uniquement un test de la librairie Boost et voilà ce qu'il en ressort.
Lors d'utilise des boost::filesystem::path aucun probleme, la compilation se passe bien, l'inclusion de Boost n'est donc pas en cause (meme si je vais devoir trouver d'ou vient mon probleme dans mon gros projet)
Par contre, lorsque le passe en wpath (et j'ai de l'expérience, j'utilise de dizaine de wpath dans mon gros projet), rien ne va plus, j'ai des messages d'erreur :
Ligne de code :
Code :
|
erreur retournée :
27 C:\Documents and Settings\moi\Mes documents\retest\a.cpp `wpath' is not a member of `boost::filesystem' |
En plus à l'ouverture de mes projet, j'ai 30 secondes de lecture / parsing des lib boost (en-tetes) c'est un peu long, on ne peut pas l'éviter ?
Voici l'extrait du fichier path.hpp de Boost, comme on peut le voir, la déclaration de wpath n'est pas des plus compliquée... alors qu'est ce qui bloque ???
Code :
|
Marsh Posté le 30-10-2008 à 17:59:42
Je tiens peut etre un début de réponse...
wcout comment fait on pour l'utiliser avec g++ ? (Mingw)
Marsh Posté le 03-11-2008 à 09:33:28
C'est marrant comme on perd avec le temps.
Je pense qu'il faut que j'utilise stlport... ce qui m'étonne c'est qu'il ne soit pas intégré à Dev-C++ (wx)
Marsh Posté le 03-11-2008 à 10:54:59
NounouRs a écrit : |
Dans les Settings de C::B, t'as une option 'disable file indexing'.
Marsh Posté le 03-11-2008 à 11:01:46
C'est fort pratique, merci bien.
J'avais toujours cru que stlport était build-in, j'entends par là que elle se compilait avec le projet... mais il faut des librairies en fait.
Et la distrib officielle de stlport n'en contient pas (normal me direz vous)
Savez vous comment compiler stlport sous wxDev-C++ (Mingw) ?
Apparemment, il y a des .mak deja fait pour gcc, mais je suis bloqué là, je ne me rappelle pas que wxDev intègre nmake...
PS : j'ai lu les docs de stlport, je n'ai pas vu ce qui m'interressait
J'ajoute des infos... je tente la compilation avec make en utilise la commande recommendée dans les docs : make -f gcc.mak depend
j'utilise le make.exe qui est dans les binaires de wxDev-C++
Mais là, rien ne va plus, j'ai des messages d'erreur ( des bin manquants) :
uname: not found
tr: not found
process_begin: CreateProcess((null), uname -v, ...) failed.
etc etc...
c'est comme si tout était fait pour compiler avec gcc sous Linux, mais là, je suis sous Windows... je ne comprend toujours pas comment certains font pour compiler stlport sur mingw (wxdev-c++)
J'ai finalement compilé avec une version standalone de mingw (mais je n'ai aucune certitude quant a la compitibilité des lib générées sous wxdevc++)
Marsh Posté le 07-11-2008 à 10:57:00
bah en general, tu recupére les Binutils windows en meme temps que mingw. Ils contiennt les versiosn windows de l'ensemble des commandes unix classiques
Marsh Posté le 21-10-2008 à 09:50:04
Bonjour,
Je compile avec GCC (enfin, j'essaye) un programme précédemment écrit sous Visual C++ (2005), qui a assez peu de classes (6) et qui fonctionne très bien.
Mais j'ai des problèmes !!!
J'utilise l'IDE wxDev-C++ qui est un fork modernisé de Dev-C++ comme à une époque j'utilisais cette IDE, je pense ne pas être trop perdu... mais pourtant...
J'ai des problèmes avec mes includes
Imaginons que je compile une classe Toto
J'ai découpé les header et les cpp en 2 fichiers :
Toto.h qui contient la définition
Toto.cpp qui contient le source
Si je mets un include dans Toto.cpp (#include "Toto.h" )
alors j'ai une erreur:
1 C:\MonProjetBidon\Toto.cpp In file included from Toto.cpp
Super explicite, vous aurez remarqué.
Alors, je supprime cette include et je configure le compilateur pour utiliser des "precompiled header", et là, à la suprise générale :
30 C:\MonProjetBidon\Toto.cpp `Toto' has not been declared
Toto.cpp et Toto.h sont dans le même répertoire qui est le même que le fichier projet .dev
J'ai aussi essayé avec ./
Message édité par NounouRs le 03-11-2008 à 11:50:54