Wie baue ich Boost (ich habe Version 1.48.0 ) mit Visual Studio C++ 11 gebaut? bootstrap.bat
kann das Toolset vc11
nicht finden. Ich habe Toolset vc11 zu F:\Programming\boost_1_48_0\tools\build\v2\engine\build.bat
hinzugefügt, erhielt jedoch eine Nachricht:
ERROR: Cannot determine the location of the VS Common Tools folder.
EDIT: Das Ferruccioanswer funktioniert auch für VS 2012 Express und Boost 1.51.0.
Ich habe es geschafft, es durch folgende Schritte zu bauen:
Es werden viele Warnungen ausgegeben, dass die Toolkit-Version nicht erkannt werden kann. Der Vorgang wird jedoch trotzdem fortgesetzt.
Update: Ich habe ein GitHub-Repo mit dem Namen cclibs erstellt, was die Erstellung von Boost und einigen anderen C++ - Bibliotheken vereinfacht.
Diese Antwort funktioniert wunderbar für:
VS2012
(Visual Studio 2012 Update 2) VS2015
(Visual Studio 2015 Update 2)In einer Nussschale
All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
.boost_1_53_0.Zip
in C:\boost153
.bootstrap.bat
ausführenbjam.exe
ausführen(optional) Schrittweise Anleitung
All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
.cd c:\boost153
in das Boost-Verzeichnis.bootstrap.bat
aus.bjam.exe
aus. Dadurch werden alle Bibliotheken erstellt.Wenn das Kompilieren nach etwa 5 Minuten abgeschlossen ist, heißt es:
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
Dies ist wichtig, wir müssen diese beiden Pfade zu jedem neuen C++ - Projekt hinzufügen.
C:/boost153
zu compiler include path
und C:\boost153\stage\lib
zu linker library path
hinzu. Properties
aus, und wählen Sie Configuration Properties..VC++ Directories
aus. Siehe die beiden Abschnitte des fettgedruckten Textes in der Abbildung unten): Lassen Sie uns ein einfaches Programm ausführen, das die Kraft des Auftriebs zeigt, indem Sie Unterstützung für foreach
-Schleifen hinzufügen:
// 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;
}
Ergebnis:
Hello, world!
Mit Win10 x64
+ VS2015.2
+ Boost v1.6.0
überprüft.
bootstrap.bat
bjam.exe --toolset = msvc-11
Überprüfen Sie die korrekte Installation, indem Sie die Ausgabe des folgenden Befehls bestätigen:
C:\>echo %VS110COMNTOOLS%
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
Hier folgen einige einfache Anweisungen, um Warnungen beim Bootstrapping zu entfernen: http://landoftheninja.blogspot.com/2011/11/visual-c-11-and-boost.html
Verpassen Sie nicht seinen Follow-up-Post, der sich mit der automatischen Verknüpfung befasst.
Neben den obigen Antworten finde ich BlueGo wirklich hilfreich, um Boost-Versionen mit MSVC 10/11/12 zu erstellen. Sie können verschiedene Konfigurationen auswählen und nur Build auswählen, und das macht den Trick.
vs2012 FEHLER: Der Speicherort des Ordners "VS Common Tools" kann nicht ermittelt werden.
vcvarsall.bat muss eine "reg.exe" aufgerufen werden, die in "C:\windows\system32 \" . Wenn nicht im Suchpfad enthalten ist, wird dieser Fehler verursacht.
Fügen Sie C:\windows\system32 zu% PATH% hinzu, um das Problem zu beheben.