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 :

Absence des versions Multithreaded, static runtime dans les lib de boost 1.4.2


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Par défaut Absence des versions Multithreaded, static runtime dans les lib de boost 1.4.2
    Bonjour tout le monde,

    J'ai voulu installer la version 1.4.2 de boost en utilisant le tuto suivant:

    http://arb.developpez.com/c++/boost/install/vc++/

    ce qui m'a mis sur le lien suivant: http://www.boostpro.com/download

    J'utilise VC++ 9.0 ( VS2008 ), quand je coche les versions de la RunTime :

    * Multithread
    * Multithread Debug
    * Multithread, static runtime
    et puis quand je passe à l'installation des .lib associées, je ne trouve l'option la plus importante pour le release qui est la Multithread, static runtime que pour VC++ 7.1 , par contre pour VC++ 8.0 ET 9.0 non

    Voir la figure associée

    Est ce que celà signifie que ces lib n'existe pas pour VC++ 9.0 ? Déja je vois que même pour VC++ 8.0 elles n'existent pas !

    Merci de m'expliquer ce que je dois faire.
    Images attachées Images attachées  

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Eh bien il va falloir que tu compiles boost toi même ! (ou du moins, que tu demandes à bjam de le faire).
    Pour cela, télécharges les sources de la version de boost que tu veux (apparemment 1.4.2). Dedans, tu devrais avoir un truc qui s'appelle bjam.exe.
    Tu le mets à la racine du répertoire de boost. Vérifie que tu as bien les fichiers boost-build.jam et Jamroot dans le même dossier. Ensuite il faut que tu modifiez le fichier Jamroot, et que tu changes 'build-type' qui vaut normalement 'minimal'. Tu le mets à 'complete', tu lances bjam, et tu reviens 2h plus tard ^^
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    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,

    Non le binaire bjam ne fait pas partie de la distribution des sources, mais il est facile de le compiler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd ./tools/jam/src
    ./build.bat
    (depuis la racine extraite de l'archive des sources)

    Ensuite pour compiler tu peux par exemple tenter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./tools/jam/src/bin.ntx86/bjam.exe --toolset=msvc-7.1 --toolset=msvc-8.0 --toolset=msvc-9.0 --build-type=complete runtime-link=static threading=multi stage
    (toujours depuis la racine extraite de l'archive des sources)

    MAT.

  4. #4
    Membre confirmé Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Par défaut
    Citation Envoyé par Mat007 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd ./tools/jam/src
    ./build.bat
    (depuis la racine extraite de l'archive des sources)

    Ensuite pour compiler tu peux par exemple tenter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./tools/jam/src/bin.ntx86/bjam.exe --toolset=msvc-9.0 --build-type=complete runtime-link=static threading=multi stage
    Merci ça a marché
    Maintenant, si je veux builder les versions suivantes en même temps ou même en séquence, quelle options j'aurai à écrire ?
    Multithreaded : LIB statique Release (/MD) - Utilisé par défaut en Release
    Multithreaded Debug : LIB statique Debug (/MDd) - Utilisé par défaut en Debug
    Multithreaded, static runtime : LIB statique Release, CRT statique (/MT) - Recommandé en Release
    J'ai trouvé dans le help de bjam les propriétés suivantes:
    Properties:

    toolset=toolset Indicates the toolset to build with.

    variant=debug|release Select the build variant

    link=static|shared Whether to build static or shared libraries

    threading=single|multi Whether to build single or multithreaded binaries

    runtime-link=static|shared Whether to link to static or shared C and C++ runtime.
    Mais je sais pas comment les utiliser pour générer les lib ( /MD et /MDd )

    Merci de m'expliquer comment je devrais faire

  5. #5
    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
    Euh ok, je vois mal ce qu'il te manque mais bon je vais te faire le premier :
    Multithreaded : LIB statique Release (/MD)
    En décomposant :
    Multithreaded -> threading=multi
    LIB statique -> link=static
    Release -> variant=release
    CRT pas statique -> runtime-link=shared

    Et en mettant ça bout à bout sur une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./tools/jam/src/bin.ntx86/bjam.exe --toolset=msvc-9.0 threading=multi link=static variant=release runtime-link=shared stage
    Ensuite tu vas voir dans ./stage/lib et voilà.
    (c'est peut-être ça qu'il te manquait en fait, le répertoire de sortie ?)

    Sinon si tu veux pas t'embêter à sélectionner tu dois pouvoir faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./tools/jam/src/bin.ntx86/bjam.exe --toolset=msvc-9.0 stage
    Pour que ça te fasse plus ou moins toutes les variantes...

    MAT.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    une question tiens concernant les binaires de lib dit "multithread"

    c'est quoi au juste, juste des binaires qui sont thread safe ?

Discussions similaires

  1. Combiner des tables articles et vides dans les enregistrements
    Par tomZH dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 31/03/2009, 13h04
  2. Réponses: 15
    Dernier message: 29/10/2006, 18h01
  3. Réponses: 3
    Dernier message: 20/09/2006, 22h35

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