web-dev-qa-db-fra.com

Booster la compilation avec MSVC 11 (VS 2012)

Comment construire Boost _ (j'ai essayé la version 1.48.0 ) avec Visual Studio C++ 11 ? bootstrap.bat ne trouve pas le jeu d'outils vc11. J'ai ajouté le jeu d'outils vc11 à F:\Programming\boost_1_48_0\tools\build\v2\engine\build.bat mais j'ai reçu un message:

ERROR: Cannot determine the location of the VS Common Tools folder.

EDIT: Le Ferruccioanswer fonctionne également pour VS 2012 Express et Boost 1.51.0.

27
Loom

J'ai réussi à le construire en suivant ces étapes:

  1. Ouvrez une invite de commande Visual Studio. Dans le menu Démarrer, sélectionnez: Tous les programmes | Microsoft Visual Studio 11 | Invite de commandes native x64.
  2. Décompressez boost_1_48_0.Zip et définissez le répertoire de travail sur boost_1_48_0.
  3. lancer bootstrap.bat
  4. exécuter bjam.exe

Il génère de nombreux avertissements sur le fait de ne pas pouvoir détecter la version de la boîte à outils, mais il continue malgré tout.

Update: J'ai créé le référentiel GitHub appelé cclibs qui simplifie la construction de Boost et de certaines autres bibliothèques C++.

32
Ferruccio

Cette réponse fonctionne à merveille pour:

  • VS2012 (Visual Studio 2012 Update 2)
    • ou VS2015 (Visual Studio 2015 Update 2)
  • Windows 7 x64
    • ou Windows 10 x64
  • Boost v1.53
    • ou Boost v1.60

En un mot

  1. Ouvrez une invite de commande Visual Studio 2012. Dans le menu Démarrer, son: All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  2. Décompressez boost_1_53_0.Zip en C:\boost153.
  3. exécuter bootstrap.bat
  4. exécuter bjam.exe
  5. Dans tout nouveau projet C++, incluez le chemin d'accès aux bibliothèques Boost, comme indiqué dans la capture d'écran ci-dessous.

(facultatif) Instructions pas à pas

  1. Installez Visual Studio 2012.
  2. Installez la mise à jour 2.
  3. Télécharger Boost de SourceForge .
  4. Décompressez dans "C:\boost153"
  5. Ouvrez une invite de commande Visual Studio avec les privilèges d’administrateur. Dans le menu de démarrage, son All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  6. Passez au répertoire boost avec cd c:\boost153.
  7. Exécutez bootstrap.bat.
  8. Exécutez bjam.exe. Cela construit toutes les bibliothèques.
  9. Il peut y avoir des avertissements, mais vous pouvez les ignorer.
  10. Au bout de 5 minutes environ, la compilation est terminée:

    The Boost C++ Libraries were successfully built!
    The following directory should be added to compiler include paths:
       C:/boost153
    The following directory should be added to linker library paths:
       C:\boost153\stage\lib
    
  11. Ceci est important, nous devrons ajouter ces deux chemins à tout nouveau projet C++.

  12. Créez un nouveau projet C++.
  13. Comme indiqué précédemment, ajoutez C:/boost153 au compiler include path et C:\boost153\stage\lib au linker library path
  14. Faites un clic droit sur le projet, sélectionnez Properties, sélectionnez Configuration Properties..VC++ Directories. Voir les deux parties de texte en gras dans la capture d'écran ci-dessous): enter image description here
  15. Lançons un programme simple qui montre la puissance du boost en ajoutant le support des boucles foreach:

    // Source code below copied from:   
    // http://www.boost.org/doc/libs/1_53_0/doc/html/foreach.html
    #include "stdafx.h"
    
    #include <string>
    #include <iostream>
    #include <conio.h> // Supports _getch()
    #include <boost/foreach.hpp>
    
    int main()
    {
        std::string hello( "Hello, world!" );
    
        BOOST_FOREACH( char ch, hello )
        {
            std::cout << ch;
        }
    
        _getch();
        return 0;
    }
    
  16. Résultat:

    Hello, world!
    

Plus de réponses

Mise à jour 2016-05-05

Vérifié avec Win10 x64 + VS2015.2 + Boost v1.6.0.

39
Contango

bootstrap.bat

bjam.exe --toolset = msvc-11 

7
Gank

Vérifiez que votre installation est correcte en confirmant le résultat de la commande suivante:

C:\>echo %VS110COMNTOOLS%
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\

Voici quelques instructions simples à suivre pour se débarrasser des avertissements lors du démarrage: http://landoftheninja.blogspot.com/2011/11/visual-c-11-and-boost.html

Ne manquez pas son article de suivi qui traite des liens automatiques.

5
GhostlyGhost

En plus des réponses ci-dessus, je trouve BlueGo vraiment utile pour la construction de versions boostées avec MSVC 10/11/12. Vous pouvez sélectionner différentes configurations et sélectionner simplement la construction, et le tour est joué. 

0
Asterisk14

vs2012 ERREUR: Impossible de déterminer l'emplacement du dossier VS Common Tools.

vcvarsall.bat doit appeler un "reg.exe" qui, dans "C:\windows\system32 \" . s'il n'est pas dans le chemin de recherche, provoquera cette erreur.

Ajouter C:\windows\system32 à% PATH% résoudra le problème.

0
user610827