web-dev-qa-db-de.com

Verwendung von Boost in Visual Studio 2010

Was ist eine gute schrittweise Erklärung zur Verwendung der Boost-Bibliothek in einem leeren Projekt in Visual Studio?

360
OlimilOops

Obwohl Nates Antwort bereits ziemlich gut ist, werde ich es auf Anfrage genauer für Visual Studio 2010 erläutern und Informationen zum Kompilieren in die verschiedenen optionalen Komponenten aufnehmen, für die externe Bibliotheken erforderlich sind.

Wenn Sie nur Header-Bibliotheken verwenden, müssen Sie lediglich die Archivierung des Boost-Downloads aufheben und die Umgebungsvariablen einrichten. Die folgenden Anweisungen legen die Umgebungsvariablen nur für Visual Studio und nicht für das gesamte System fest. Beachten Sie, dass Sie dies nur einmal tun müssen.

  1. Archivieren Sie die neueste Version von boost (1.47.0 zum Zeitpunkt des Schreibens) in einem Verzeichnis Ihrer Wahl (z. B. C:\boost_1_47_0).
  2. Erstellen Sie ein neues leeres Projekt in Visual Studio.
  3. Öffnen Sie den Property Manager und erweitern Sie eine der Konfigurationen für die Plattform Ihrer Wahl.
  4. Wählen Sie & klicken Sie mit der rechten Maustaste auf Microsoft.Cpp.<Platform>.user Und wählen Sie Properties, um die Eigenschaftsseite zum Bearbeiten zu öffnen.
  5. Wählen Sie links VC++ Directories.
  6. Bearbeiten Sie den Abschnitt Include Directories, Um den Pfad zu Ihren Boost-Quelldateien anzugeben.
  7. Wiederholen Sie die Schritte 3 bis 6 bei Bedarf für eine andere Plattform Ihrer Wahl.

Wenn Sie den Teil des Boosts verwenden möchten, für den eine Erstellung erforderlich ist, für den jedoch keine externen Abhängigkeiten erforderlich sind, ist die Erstellung relativ einfach.

  1. Archivieren Sie die neueste Version von boost (1.47.0 zum Zeitpunkt des Schreibens) in einem Verzeichnis Ihrer Wahl (z. B. C:\boost_1_47_0).
  2. Starten Sie die Visual Studio-Eingabeaufforderung für die Plattform Ihrer Wahl und navigieren Sie zu der Position, an der der Boost ausgeführt wird.
  3. Führen Sie Folgendes aus: bootstrap.bat, Um b2.exe (zuvor bjam genannt) zu erstellen.
  4. Führen Sie b2 aus:

    • Win32: b2 --toolset=msvc-10.0 --build-type=complete stage;
    • x64: b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage

Spazieren gehen/einen Film schauen oder 2/....

  1. Führen Sie die Schritte 2 bis 6 aus, um die Umgebungsvariablen festzulegen.
  2. Bearbeiten Sie den Abschnitt Library Directories, Um den Pfad zur Ausgabe Ihrer Boost-Bibliotheken anzugeben. (Die Standardeinstellung für das obige Beispiel und die obigen Anweisungen wäre C:\boost_1_47_0\stage\lib. Benennen Sie das Verzeichnis um und verschieben Sie es zuerst, wenn Sie x86 & x64 nebeneinander haben möchten (z. B. zu <BOOST_PATH>\lib\x86 & <BOOST_PATH>\lib\x64).
  3. Wiederholen Sie die Schritte 2 bis 6 bei Bedarf für eine andere Plattform Ihrer Wahl.

Wenn Sie die optionalen Komponenten benötigen, haben Sie mehr zu tun. Diese sind:

  • Boost.IOStreams Bzip2 Filter
  • Boost.IOStreams Zlib-Filter
  • Boost.MPI
  • Boost.Python
  • Boost.Regex ICU Unterstützung

Boost.IOStreams Bzip2 Filter:

  1. Archivieren Sie die neueste Version der bzip2-Bibliothek (1.0.6 zum Zeitpunkt des Schreibens) in einem Verzeichnis Ihrer Wahl (z. B. C:\bzip2-1.0.6).
  2. Befolgen Sie die obigen Anweisungen, um Boost zu erstellen, fügen Sie jedoch die Option -sBZIP2_SOURCE="C:\bzip2-1.0.6" Hinzu, wenn Sie in Schritt 5 b2 ausführen.

Boost.IOStreams Zlib-Filter

  1. Archivieren Sie die neueste Version der zlib-Bibliothek (1.2.5 zum Zeitpunkt des Schreibens) in einem Verzeichnis Ihrer Wahl (z. B. C:\zlib-1.2.5).
  2. Befolgen Sie die obigen Anweisungen, um Boost zu erstellen, fügen Sie jedoch die Option -sZLIB_SOURCE="C:\zlib-1.2.5" Hinzu, wenn Sie in Schritt 5 b2 ausführen.

Boost.MPI

  1. Installieren Sie eine MPI Distribution wie Microsoft Compute Cluster Pack.
  2. Befolgen Sie die Schritte 1 - 3 aus dem zweiten Satz der obigen Anweisungen, um den Boost aufzubauen.
  3. Bearbeiten Sie die Datei project-config.jam Im Verzeichnis <BOOST_PATH>, Das sich aus dem Ausführen von Bootstrap ergibt. Fügen Sie in einer Zeile using mpi ; Hinzu (beachten Sie das Leerzeichen vor dem ';').
  4. Befolgen Sie die restlichen Schritte aus dem zweiten Satz der obigen Anweisungen, um den Boost aufzubauen. Wenn die automatische Erkennung der MPI Installation fehlschlägt, müssen Sie die entsprechende Build-Datei suchen und ändern, um MPI am richtigen Ort zu suchen .

Boost.Python

  1. Installieren Sie eine Python -Distribution wie ActiveStates ActivePython. Stellen Sie sicher, dass sich die Python -Installation in Ihrem PATH befindet.
  2. Um die 32-Bit-Version der Bibliothek vollständig zu erstellen, ist 32-Bit-Python erforderlich, und dies gilt auch für die 64-Bit-Version. Wenn Sie aus diesem Grund mehrere Versionen installiert haben, müssen Sie b2 mitteilen, wo und wann eine bestimmte Version zu finden ist. Eine Möglichkeit, dies zu tun, besteht darin, die Datei project-config.jam Im Verzeichnis <BOOST_PATH> Zu bearbeiten, das sich aus dem Ausführen von Bootstrap ergibt. Fügen Sie in den folgenden beiden Zeilen die entsprechenden Anpassungen für Ihre Python Installationspfade und -versionen hinzu (beachten Sie das Leerzeichen vor dem ';').

    using python : 2.6 : C:\\Python\\Python26\\python ;

    using python : 2.6 : C:\\Python\\Python26-x64\\python : : : <address-model>64 ;

    Beachten Sie, dass eine solche explizite Python Spezifikation derzeit MPI Build fehlschlägt. Sie müssen also ein separates Build mit und ohne Spezifikation ausführen, um alles zu erstellen, wenn Sie bauen MPI ebenfalls.

  3. Befolgen Sie die obigen Anweisungen, um den Boost aufzubauen.

Boost.Regex ICU Unterstützung

  1. Archivieren Sie die neueste Version der ICU4C-Bibliothek (4.8 zum Zeitpunkt des Schreibens) in einem Verzeichnis Ihrer Wahl (z. B. C:\icu4c-4_8).
  2. Öffnen Sie die Visual Studio-Lösung in <ICU_PATH>\source\allinone.
  3. Build All für die Debug- und Release-Konfiguration für die Plattform Ihrer Wahl. Es kann ein Problem sein, dass neuere Versionen von ICU4C mit Visual Studio 2010 erstellt werden, wenn sich die Ausgabe für Debug- und Versionserstellung im selben Verzeichnis befindet (dies ist das Standardverhalten). Eine mögliche Problemumgehung besteht darin, ein Build All (beispielsweise Debug-Build) und anschließend ein Rebuild All in der 2. Konfiguration (z. B. Release-Build) durchzuführen.
  4. Wenn Sie für x64 erstellen, müssen Sie ein x64-Betriebssystem ausführen, da nach dem Erstellen einige Schritte ausgeführt werden, bei denen einige der 64-Bit-Anwendungen ausgeführt werden, die erstellt werden.
  5. Entfernen Sie optional das Quellverzeichnis, wenn Sie fertig sind.
  6. Befolgen Sie die obigen Anweisungen, um Boost zu erstellen, fügen Sie jedoch die Option -sICU_PATH="C:\icu4c-4_8" Hinzu, wenn Sie in Schritt 5 b2 ausführen.
505
KTC

Während die Anweisungen auf der Boost-Website hilfreich sind, ist hier eine komprimierte Version, die auch x64-Bibliotheken erstellt.

  • Sie müssen dies nur tun, wenn Sie eine der in Abschnitt der Anweisungsseite genannten Bibliotheken verwenden. (Zum Beispiel muss Boost.Filesystem kompiliert werden.) Wenn Sie keines davon verwenden, entpacken Sie es einfach und gehen Sie.

Erstellen Sie die 32-Bit-Bibliotheken

Dadurch werden die Boost-Header-Dateien unter C:\Boost\include\boost-(version) und die 32-Bit-Bibliotheken unter C:\Boost\lib\i386 Installiert. Beachten Sie, dass der Standardspeicherort für die Bibliotheken C:\Boost\lib Ist, Sie sie jedoch in ein i386 - Verzeichnis verschieben möchten, wenn Sie mehrere Architekturen erstellen möchten.

  1. Entpacke Boost in ein neues Verzeichnis.
  2. Starten Sie eine 32-Bit-MSVC-Eingabeaufforderung und wechseln Sie in das Verzeichnis, in das Boost entpackt wurde.
  3. Ausführen: bootstrap
  4. Ausführen: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install

    • Verwenden Sie für Visual Studio 2012 toolset=msvc-11.0
    • Verwenden Sie für Visual Studio 2010 toolset=msvc-10.0
    • Verwenden Sie für Visual Studio 2017 toolset=msvc-14.1
  5. Fügen Sie Ihrem Include-Pfad C:\Boost\include\boost-(version) hinzu.

  6. Fügen Sie Ihrem Bibliothekspfad C:\Boost\lib\i386 Hinzu.

Erstellen Sie die 64-Bit-Bibliotheken

Dadurch werden die Boost-Header-Dateien unter C:\Boost\include\boost-(version) und die 64-Bit-Bibliotheken unter C:\Boost\lib\x64 Installiert. Beachten Sie, dass der Standardspeicherort für die Bibliotheken C:\Boost\lib Ist, Sie sie jedoch in ein x64 - Verzeichnis verschieben möchten, wenn Sie mehrere Architekturen erstellen möchten.

  1. Entpacke Boost in ein neues Verzeichnis.
  2. Starten Sie eine 64-Bit-MSVC-Eingabeaufforderung und wechseln Sie in das Verzeichnis, in das Boost entpackt wurde.
  3. Ausführen: bootstrap
  4. Führen Sie Folgendes aus: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Verwenden Sie für Visual Studio 2012 toolset=msvc-11.0
    • Verwenden Sie für Visual Studio 2010 toolset=msvc-10.0
  5. Fügen Sie Ihrem Include-Pfad C:\Boost\include\boost-(version) hinzu.
  6. Fügen Sie Ihrem Bibliothekspfad C:\Boost\lib\x64 Hinzu.
152
Nate

Sie können auch -j% NUMBER_OF_PROCESSORS% als Argument verwenden, das alle Ihre Kerne verwendet. Macht die Dinge auf meinem Quad-Core superschnell.

19
Aaron Stainback

Ich könnte den folgenden Trick empfehlen: Erstelle ein spezielles boost.props Datei

  1. Öffnen Sie den Property Manager
  2. Klicken Sie mit der rechten Maustaste auf Ihren Projektknoten und wählen Sie "Neues Projekteigenschaftenblatt hinzufügen".
  3. Wählen Sie einen Speicherort und benennen Sie Ihr Eigenschaftenblatt (z. B. c:\mystuff\boost.props).
  4. Ändern Sie die zusätzlichen Ordner Include und Lib im Suchpfad.

Diese Prozedur hat den Wert, dass boost nur in Projekten enthalten ist, in denen Sie es explizit einschließen möchten. Wenn Sie ein neues Projekt haben, das boost verwendet, gehen Sie wie folgt vor:

  1. Öffnen Sie den Property Manager.
  2. Klicken Sie mit der rechten Maustaste auf den Projektknoten und wählen Sie "Vorhandenes Eigenschaftenblatt hinzufügen".
  3. Wählen Sie das Boost-Eigenschaftenblatt aus.

BEARBEITEN (folgende Bearbeitung von @ jim-fred):

Das resultierende boost.props Datei sieht ungefähr so ​​aus ...

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <BOOST_DIR>D:\boost_1_53_0\</BOOST_DIR>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(BOOST_DIR);$(IncludePath)</IncludePath>
    <LibraryPath>$(BOOST_DIR)stage\lib\;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

Es enthält ein Benutzermakro für den Speicherort des Verzeichnisses boost (in diesem Fall D:\boost_1_53_0) und zwei weitere Parameter: IncludePath und LibraryPath. Eine Erklärung #include <boost/thread.hpp> findet thread.hpp im entsprechenden Verzeichnis (in diesem Fall D:\boost_1_53_0\boost\thread.hpp). Das Verzeichnis 'stage\lib \' kann sich je nach dem in installierten Verzeichnis ändern.

Diese boost.props-Datei könnte sich im D:\boost_1_53_0\ Verzeichnis.

14
Uri

Welche Teile von Boost brauchst du? Viele Dinge sind Teil von TR1, das mit Visual Studio ausgeliefert wird. Sie können also einfach sagen, zum Beispiel:

#include <tr1/memory>

using std::tr1::shared_ptr;

Laut James sollte dies auch funktionieren (in C++ 0x):

#include <memory>

using std::shared_ptr;
13
fredoverflow

Dieser Thread ist schon eine Weile her und ich dachte, ich würde etwas über WIE hinzufügen, um Boost so schnell wie möglich auf Ihrer spezifischen Hardware zu erstellen.

Wenn Sie einen 4- oder 6-Kern haben, verwenden Sie -j5 bzw. -j7. Mit Sicherheit nicht der Standardbuild oder -j2, es sei denn, Sie haben tatsächlich einen Dual-Core.

Ich verwende einen Sandy Bridge Extreme mit 3930K (6-Core) auf meinem Hauptrechner, aber 2600K (4-Core) auf einer älteren Backup-Box, und der Trend ist, dass ich mit N + die besten Boost-Kompilierzeiten erhalte 1 Build-Prozesse, bei denen N die Anzahl der physischen Kerne ist. N + 2 erreicht einen Punkt sinkender Renditen und die Zeiten steigen.

Hinweise: Hyperthreading ist aktiviert, 32 GB RAM DDR3, Samsung 840 EVO SSD.

- j7 auf 6-Core (2 Minuten und 51 Sekunden) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j7 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 2
Seconds           : 51
Milliseconds      : 128
Ticks             : 1711281830
TotalDays         : 0.0019806502662037
TotalHours        : 0.0475356063888889
TotalMinutes      : 2.85213638333333
TotalSeconds      : 171.128183
TotalMilliseconds : 171128.183

- j6 auf 6-Core (3 Minuten und 2 Sekunden) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j6 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 2
Milliseconds      : 809
Ticks             : 1828093904
TotalDays         : 0.00211584942592593
TotalHours        : 0.0507803862222222
TotalMinutes      : 3.04682317333333
TotalSeconds      : 182.8093904
TotalMilliseconds : 182809.3904

- j8 auf 6-Core (3 Minuten und 17 Sekunden) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j8 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 17
Milliseconds      : 652
Ticks             : 1976523915
TotalDays         : 0.00228764342013889
TotalHours        : 0.0549034420833333
TotalMinutes      : 3.294206525
TotalSeconds      : 197.6523915
TotalMilliseconds : 197652.3915

-j7 build on 6-core

Konfig

Building the Boost C++ Libraries.


Performing configuration checks

    - 32-bit                   : yes (cached)
    - arm                      : no  (cached)
    - mips1                    : no  (cached)
    - power                    : no  (cached)
    - sparc                    : no  (cached)
    - x86                      : yes (cached)
    - has_icu builds           : no  (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - zlib                     : no  (cached)
    - iconv (libc)             : no  (cached)
    - iconv (separate)         : no  (cached)
    - icu                      : no  (cached)
    - icu (lib64)              : no  (cached)
    - message-compiler         : yes (cached)
    - compiler-supports-ssse3  : yes (cached)
    - compiler-supports-avx2   : yes (cached)
    - gcc visibility           : no  (cached)
    - long double support      : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
    - zlib                     : no  (cached)

Ich stelle fest, dass der 64-Bit-Build etwas länger dauert. Ich muss den gleichen Vergleich für diese und das Update durchführen.

6
codenheim

Laden Sie boost von: http://www.boost.org/users/download/ z. von svn

  • Windows -> Schildkröte (der einfachste Weg)

Danach: cmd -> gehe zum boost Verzeichnis ("D:\boostTrunk" - wo du das Paket auscheckst oder herunterlädst und extrahierst): Befehl: bootstrap

wir haben bjam.exe in ("D:\boostTrunk") erstellt. Danach: Befehl: bjam toolset = msvc-10.0 variant = debug, release threading = multi link = static (Es wird einige Zeit dauern ~ 20min.)

Danach: Visual Studio 2010 öffnen -> leeres Projekt erstellen -> zu den Projekteigenschaften gehen -> einstellen:

Project properties VS 2010

Fügen Sie diesen Code ein und überprüfen Sie, ob es funktioniert?

#include <iostream>
#include <boost/shared_ptr.hpp>
#include <boost/regex.hpp>

using namespace std;

struct Hello 
{
    Hello(){ 
        cout << "Hello constructor" << endl;
    }

    ~Hello(){
        cout << "Hello destructor" << endl;
        cin.get();
    }
};


int main(int argc, char**argv)
{
    //Boost regex, compiled library
    boost::regex regex("^(Hello|Bye) Boost$");
    boost::cmatch helloMatches;
    boost::regex_search("Hello Boost", helloMatches, regex);
    cout << "The Word between () is: " << helloMatches[1] << endl;

    //Boost shared pointer, header only library
    boost::shared_ptr<Hello> sharedHello(new Hello);

    return 0;
}

Ressourcen: https://www.youtube.com/watch?v=5AmwIwedTCM

5
andrew

Noch ein kleiner Hinweis: Wenn Sie die Übersetzungszeit reduzieren möchten, können Sie das Flag hinzufügen

-j2

zwei parallele Builds gleichzeitig ausführen. Dies kann dazu führen, dass nur ein Film angezeigt wird.

5
GaMer13

So konnte ich Boost nutzen:

  1. Laden Sie die Zip-Version der Boost-Bibliotheken herunter und extrahieren Sie sie.
  2. Führen Sie die Datei bootstrap.bat und anschließend bjam.exe aus.
  3. Warten Sie ungefähr 30 Minuten.
  4. Erstellen Sie ein neues Projekt in Visual Studio.
  5. Gehen Sie zu Projekt -> Eigenschaften -> Linker -> Allgemein -> Zusätzliche Bibliotheksverzeichnisse und fügen Sie dem Verzeichnis boost/stage/lib hinzu.
  6. Gehen Sie zu Projekt -> Eigenschaften -> C/C++ -> Allgemein -> Zusätzliche Include-Verzeichnisse und fügen Sie dem Verzeichnis boost hinzu.

Sie können Ihr Projekt fehlerfrei erstellen!

4
bhavesh

Die Windows-Installationsprogramme hier haben bei mir perfekt funktioniert. Ich habe folgende Schritte unternommen:

  1. Folgen Sie dem Installationsassistenten, bis Sie fertig sind.
  2. Führen Sie Visual Studio aus.
  3. Erstellen Sie ein neues C++ - Projekt
  4. Öffnen Sie die Projekteigenschaften (finden Sie, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen klicken).
  5. Fügen Sie unter "C/C++> Allgemein> Zusätzliche Include-Verzeichnisse" den Pfad hinzu, in dem sich das Stammverzeichnis von boost befindet. Die Standardeinstellung für meine Version war C:\local\boost_1_63_0. Die Zahl nach "boost" ist die Version von boost.
  6. Fügen Sie in den Projekteigenschaften unter "Linker> Zusätzliche Bibliotheksverzeichnisse" das Verzeichnis für Bibliotheksdateien hinzu. Die Standardeinstellung für meine Version war C:\local\boost_1_63_0\lib64-msvc-14.0. Die Zahl nach "lib" bezieht sich auf das Erstellungsziel (32 Bit oder 64 Bit in Visual Studio) und die Zahl nach "msvc" auf die Version von Visual Studio (14.0 bezieht sich auf Visual Studio 2015, aber ich bin es Verwenden mit dem 2017 Visual Studio).

Viel Glück!

3
Zoob

Eine kleine Ergänzung zu KTCs sehr informativer Hauptantwort:

Wenn Sie das kostenlose Visual Studio c ++ 2010 Express verwenden und es geschafft haben, 64-Bit-Binärdateien zu kompilieren, und das jetzt für die Verwendung einer 64-Bit-Version der Boost-Bibliotheken verwenden möchten, erhalten Sie möglicherweise 32-Bit-Binärdateien. Bits Bibliotheken (Ihre Laufleistung kann natürlich variieren, aber auf meinem Computer ist dies der traurige Fall).

Ich könnte dies folgendermaßen beheben: Zwischen den oben beschriebenen Schritten als

  1. Starten Sie eine 32-Bit-MSVC-Eingabeaufforderung und wechseln Sie in das Verzeichnis, in das Boost entpackt wurde.
  2. Ausführen: Bootstrap

Ich habe einen Aufruf an 'setenv' eingefügt, um die Umgebung einzustellen. Bei einem Release-Build werden die obigen Schritte wie folgt ausgeführt:

  1. Starten Sie eine 32-Bit-MSVC-Eingabeaufforderung und wechseln Sie in das Verzeichnis, in das Boost entpackt wurde.
  2. Führen Sie Folgendes aus: "C:\Programme\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd"/Release/x64
  3. Ausführen: Bootstrap

Ich fand diese Information hier: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html

2
ecotax

Ein minimalistisches Beispiel für den Einstieg in Visual Studio:

1 . Download und entpacke Boost von hier.

2.Erstellen Sie ein leeres Visual Studio-Projekt mit einer Beispiel-Boost-Bibliothek, die keine separate Kompilierung erfordert:

#include <iostream>
#include <boost/format.hpp>

using namespace std;  
using namespace boost;  

int main()  
{  
    unsigned int arr[5] = { 0x05, 0x04, 0xAA, 0x0F, 0x0D };  

    cout << format("%02X-%02X-%02X-%02X-%02X")  
            % arr[0]  
            % arr[1]  
            % arr[2]  
            % arr[3]  
            % arr[4]  
         << endl;  
}  

3.Stellen Sie in Ihren Visual Studio-Projekteigenschaften die zusätzlichen Include-Verzeichnisse ein:

Project Properties

Für ein sehr einfaches Beispiel:

So installieren Sie die Boost-Bibliotheken in Visual Studio

Wenn Sie nicht die gesamte Boost-Bibliothek verwenden möchten, geben Sie nur eine Teilmenge ein:

Verwenden einer Teilmenge der Boost-Bibliotheken in Windows

Wenn Sie sich jetzt speziell mit den Bibliotheken befassen möchten, die kompiliert werden müssen:

Verwendung der kompilierten Boost-Bibliotheken in Windows

1
AndyUK

Außerdem finde ich etwas sehr Nützliches. Verwenden Sie Umgebungsvariablen für Ihre Boost-Pfade. (So setzen Sie Umgebungsvariablen in Windows, Link unten für 7,8,10) Die Variable BOOST_ROOT scheint nicht mehr an der Tagesordnung zu sein und wird auf den Root-Pfad gesetzt, in den Sie boost entpacken.

Verwenden Sie dann in Properties, c ++, general, Additional Include Directories $(BOOST_ROOT). Wenn Sie dann zu einer neueren Version der Boost-Bibliothek wechseln, können Sie Ihre Umgebungsvariable so aktualisieren, dass sie auf diese neuere Version verweist. Wenn Sie boost für mehr Projekte verwenden, müssen Sie die zusätzlichen Include-Verzeichnisse nicht für alle aktualisieren.

Sie können auch eine BOOST_LIB-Variable erstellen und auf den Speicherort der Bibliotheken verweisen. Ebenso müssen Sie für die Linker-> Additional Library Directories keine Projekte aktualisieren. Ich habe einige alte Sachen mit vs10 und neue Sachen mit vs14, also bauten beide Varianten der Boost-Lib in den gleichen Ordner. Wenn ich also ein Projekt von vs10 nach vs14 verschiebe, muss ich die Boost-Pfade nicht ändern.

HINWEIS: Wenn Sie eine Umgebungsvariable ändern, funktioniert sie in einem geöffneten VS-Projekt nicht plötzlich. VS lädt Variablen beim Start. Sie müssen VS also schließen und erneut öffnen.

0
lakeweb