IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Boost C++ Discussion :

probleme include <boost/serialization/vector.hpp>


Sujet :

Boost C++

  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    74
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 74
    Par d�faut probleme include <boost/serialization/vector.hpp>
    Bonjour � tous

    J'ai r�cemment d�but� un stage dont une partie consiste � serialiser quelques petites choses.
    Je me suis tourn� vers Boost.Serialization qui a l'air assez simple d'utilisation.
    J'ai fait un petit projet test o� j'ai test� pas mal de choses, notamment la serialisation de std::vector.
    Sur mon projet test, je n'ai aucun probl�me. Par contre quand j'essaye de placer un #include <boost/serialization/vector.hpp> dans le projet sur lequel je travaille (une quarantaine de classes) j'obtiens � la compilation une longue liste d'erreurs pour chacune des classes du projet (je suppose que c'est parce que le projet est mal foutu et qu'il y a des include en cascades, dont une bonne partie d'inutiles - ce n'est pas moi qui ai con�u le projet ^^ )

    voici les erreurs
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : warning C4003: nombre de param�tres r�els insuffisants pour la macro 'min'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(323) : warning C4003: nombre de param�tres r�els insuffisants pour la macro 'max'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(427)*: voir la r�f�rence � l'instanciation du mod�le de classe 'std::valarray<_Ty>' en cours de compilation
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : error C2334: jetons inattendus avant ':'*; corps apparent de la fonction ignor�
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de ')' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de '}' avant ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de ';' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2238: jetons inattendus avant ';'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(323) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur '_Ty'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(1124)*: voir la r�f�rence � l'instanciation du mod�le de classe 'std::valarray<_Ty>' en cours de compilation
    with
    [
    _Ty=size_t
    ]
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : error C2334: jetons inattendus avant ':'*; corps apparent de la fonction ignor�
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de ')' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de '}' avant ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(323) : error C2334: jetons inattendus avant ':'*; corps apparent de la fonction ignor�
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(330) : error C2143: erreur de syntaxe*: absence de ')' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(330) : error C2143: erreur de syntaxe*: absence de '}' avant ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(330) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(330) : error C2143: erreur de syntaxe*: absence de ';' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(330) : error C2238: jetons inattendus avant ';'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(332) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'valarray'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(1333)*: voir la r�f�rence � l'instanciation du mod�le de classe 'std::valarray<_Ty>' en cours de compilation
    with
    [
    _Ty=std::_Bool
    ]
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(1335)*: voir la r�f�rence � l'instanciation du mod�le de classe 'std::mask_array<_Ty>' en cours de compilation
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(314) : error C2334: jetons inattendus avant ':'*; corps apparent de la fonction ignor�
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de ')' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de '}' avant ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2059: erreur de syntaxe*: ')'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2143: erreur de syntaxe*: absence de ';' avant '}'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(321) : error C2238: jetons inattendus avant ';'
    C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\valarray(323) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur '_Ty'
    elles concernent toutes la classe valarray, et oui j'utilise Visual C++ 2003.

    le truc aga�ant c'est que je peux inclure list, deque, map ou autres sans problemes... j'ai juste le probleme pour vector...

    je pensais feinter �a en serialisant les �l�ments du vector un � un via une boucle, mais �videmment � la deserialization il manque la taille des vector...

    j'ai googl� pas mal de truc mais je n'ai rien vu concernant ce probleme.

    est ce que quelqu'un aurait un d�but d'id�e pour me sortir de l� ?

  2. #2
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Est-ce que tu inclus windows.h a un quelconque moment ? Si c'est le cas, il faudra peut �tre ajouter NOMINMAX (ou quelque chose d'approchant) aux d�finitions de ton projet.
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    74
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 74
    Par d�faut
    Bonjour

    j'ai effectivement des include de windows.h. J'ai ajout� #define NOMINMAX avant ces include. J'ai �galement d� l'ajouter � plusieurs autres endroits de mon projet.
    Je ne connaissais pas ce probl�me de macros (quelle id�e de les nommer en minuscules...).

    Merci beaucoup pour l'astuce.

  4. #4
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Normalement, il serait sans doute beaucoup plus facile de rajouter ce d�fine � la commande de compilation...

    Dans les propri�t�s de ton projet, cherche, sur la gauche, la "branche" "preprocesseur" qui se trouve dans C/C++ (qui se trouve, elle-m�me, dans "configuration properties).

    Sur la droite, tu trouveras une ligne "preprocessor definitions", sur laquelle il "suffit" de cliquer pour ajouter, en fin de ligne "; NOMINMAX " (le ; n'�tant n�cessaire que si il y a d�j� quelque chose).

    De cette mani�re, la ligne de commande du compilateur sera, entre autres, comps�e de /D NOMINMAX, ce qui aura pour effet de le d�finir directement dans tous les fichiers, et donc de t'�viter d'avoir � modifier tous les fichiers de ton projet et ceux inclus de mani�re indirecte...
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  5. #5
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    74
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 74
    Par d�faut
    ah, merci pour l'astuce je ne connaissais pas non plus (je n'ai pas vraiment de formation de d�veloppeur, donc y a pas mal de petites choses comme �a que je ne connais pas)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Boost: Serialization d'un vector d'objet
    Par antooo dans le forum Boost
    R�ponses: 6
    Dernier message: 05/12/2010, 14h41
  2. [Boost] probleme d'inclusion du header thread.hpp
    Par Neaira05 dans le forum Biblioth�ques
    R�ponses: 1
    Dernier message: 04/05/2009, 18h37
  3. Librairie boost::serialization + vector : possible ?
    Par zax-tfh dans le forum Biblioth�ques
    R�ponses: 6
    Dernier message: 07/01/2006, 14h15
  4. R�ponses: 15
    Dernier message: 20/09/2005, 09h54
  5. boost::serialize
    Par Fry dans le forum Biblioth�ques
    R�ponses: 6
    Dernier message: 05/11/2004, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo