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.
J'ai réussi à le construire en suivant ces étapes:
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++.
Cette réponse fonctionne à merveille pour:
VS2012
(Visual Studio 2012 Update 2) VS2015
(Visual Studio 2015 Update 2)En un mot
All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
.boost_1_53_0.Zip
en C:\boost153
.bootstrap.bat
bjam.exe
(facultatif) Instructions pas à pas
All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
.cd c:\boost153
.bootstrap.bat
.bjam.exe
. Cela construit toutes les bibliothèques.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
Ceci est important, nous devrons ajouter ces deux chemins à tout nouveau projet C++.
C:/boost153
au compiler include path
et C:\boost153\stage\lib
au linker library path
. Properties
, sélectionnez Configuration Properties..VC++ Directories
. Voir les deux parties de texte en gras dans la capture d'écran ci-dessous): 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;
}
Résultat:
Hello, world!
Vérifié avec Win10 x64
+ VS2015.2
+ Boost v1.6.0
.
bootstrap.bat
bjam.exe --toolset = msvc-11
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.
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é.
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.