wake-up-neo.com

Boost Compilieren mit MSVC 11 (VS 2012)

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.

27
Loom

Ich habe es geschafft, es durch folgende Schritte zu bauen:

  1. Öffnen Sie eine Visual Studio-Eingabeaufforderung. Vom Startmenü aus: Alle Programme | Microsoft Visual Studio 11 | Native x64-Eingabeaufforderung.
  2. Entpacken Sie boost_1_48_0.Zip und setzen Sie das Arbeitsverzeichnis auf boost_1_48_0
  3. starte bootstrap.bat
  4. führen Sie bjam.exe aus

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.

32
Ferruccio

Diese Antwort funktioniert wunderbar für:

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

In einer Nussschale

  1. Öffnen Sie eine Eingabeaufforderung für Visual Studio 2012. Vom Startmenü aus: All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  2. Entpacken Sie boost_1_53_0.Zip in C:\boost153.
  3. bootstrap.bat ausführen
  4. bjam.exe ausführen
  5. Geben Sie in einem neuen C++ - Projekt den Pfad zu den Boost-Bibliotheken an (siehe Abbildung unten).

(optional) Schrittweise Anleitung

  1. Installieren Sie Visual Studio 2012.
  2. Installieren Sie Update 2.
  3. Boost von SourceForge herunterladen .
  4. Entpacken Sie in "C:\boost153"
  5. Öffnen Sie eine Visual Studio-Eingabeaufforderung mit Administratorrechten. Im Startmenü den All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  6. Wechseln Sie mit cd c:\boost153 in das Boost-Verzeichnis.
  7. Führen Sie bootstrap.bat aus.
  8. Führen Sie bjam.exe aus. Dadurch werden alle Bibliotheken erstellt.
  9. Möglicherweise gibt es einige Warnungen, die Sie jedoch ignorieren können.
  10. 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
    
  11. Dies ist wichtig, wir müssen diese beiden Pfade zu jedem neuen C++ - Projekt hinzufügen.

  12. Erstellen Sie ein neues C++ - Projekt.
  13. Wie bereits vor einigen Schritten erwähnt, fügen Sie C:/boost153 zu compiler include path und C:\boost153\stage\lib zu linker library path hinzu. 
  14. Klicken Sie mit der rechten Maustaste auf das Projekt, wählen Sie Properties aus, und wählen Sie Configuration Properties..VC++ Directories aus. Siehe die beiden Abschnitte des fettgedruckten Textes in der Abbildung unten): enter image description here
  15. 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;
    }
    
  16. Ergebnis:

    Hello, world!
    

Weitere Antworten

Aktualisieren Sie 2016-05-05

Mit Win10 x64 + VS2015.2 + Boost v1.6.0 überprüft.

39
Contango

bootstrap.bat

bjam.exe --toolset = msvc-11 

7
Gank

Ü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.

5
GhostlyGhost

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. 

0
Asterisk14

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.

0
user610827