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 :

ASIO requiert une compilation ?


Sujet :

Boost C++

  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut ASIO requiert une compilation ?
    Bonjour à tous,

    J'ai commencé le tuto de Boost.Asio avec ce petit programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #include <iostream>
    #include <boost/asio.hpp>
    #include <boost/date_time/posix_time/posix_time.hpp>
     
    int main()
    {
      boost::asio::io_service io;
     
      boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
      t.wait();
     
      std::cout << "Hello, world!\n";
     
      return 0;
    }
    Et le compilo me répond :
    Citation Envoyé par Visual C++ Express 2008
    1>------ Début de la régénération globale : Projet : socket, Configuration : Debug Win32 ------
    1>Suppression des fichiers de sortie et des fichiers intermédiaires du projet 'socket', configuration 'Debug|Win32'
    1>Compilation en cours...
    1>main.cpp
    1>Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately
    1>Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target)
    1>Édition des liens en cours...
    1>LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'libboost_system-vc90-mt-gd-1_35.lib'
    1>Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\Administrateur\Bureau\socket\socket\socket\Debug\BuildLog.htm"
    1>socket - 1 erreur(s), 0 avertissement(s)
    ========== Régénération globale : 0 a réussi, 1 a échoué, 0 a été ignoré ==========
    Déjà la première partie de ce qu'il raconte, c'est bizarre. Passons.
    ASIO ne fait pourtant pas parti des lib citées nécéssitant une compilation pourtant (http://www.boost.org/doc/libs/1_35_0...only-libraries ). C'est pas à jour? J'ai manqué quelque chose?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    En effet, il faut lier avec boost.system, comme indiqué dans la documentation .

    Sinon pour "la première partie de ce qu'il raconte", ajoute juste avant d'inclure <boost/asio.h> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define _WIN32_WINNT 0x0501
    Et ça va le calmer !

    MAT.

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    C'est exact, j'avais pas fait attention...
    Par contre, je suis embêté, lorsque je build les libs avec bjam, ça me donne:
    boost_system-vc90-mt-gd-1_35.lib alors que dans Visual on me demande libboost_system-vc90-mt-gd-1_35.lib!

    Je vais quand même pas tout changé à la main si je dois tout builder en debug et release. Par quel miracle il y a cette différence ?
    Une idée?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    C'est parce que ce sont les bibliothèques à lier pour utiliser la version partagée alors que ce qu'il te faut c'est la version statique (cf. Getting Started on Windows).
    Relance bjam avec --build-type=complete en plus et tu vas voir apparaître plein de nouvelles versions, dont celles dont tu as besoin.

    MAT.

  5. #5
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Effectivement... Good Job !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2006, 22h25
  2. pb. d'import dans une compilation avec Ant
    Par clairette dans le forum ANT
    Réponses: 2
    Dernier message: 24/09/2006, 17h12
  3. [GD] Problème avec imagecreatetruecolor() : requiert une mise à jour
    Par arnaud_verlaine dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/08/2006, 16h45
  4. [JAR]créer une compilation de jar
    Par biozaxx dans le forum Général Java
    Réponses: 8
    Dernier message: 05/10/2005, 11h08
  5. Réponses: 6
    Dernier message: 24/03/2005, 14h29

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