Comment utiliser Boost dans Visual Studio 2010

Réponses:

512

Bien que la réponse de Nate soit déjà assez bonne, je vais l'étendre plus spécifiquement pour Visual Studio 2010 comme demandé, et inclure des informations sur la compilation dans les divers composants facultatifs qui nécessitent des bibliothèques externes.

Si vous utilisez uniquement des bibliothèques d'en-têtes, il vous suffit de désarchiver le téléchargement de boost et de configurer les variables d'environnement. Les instructions ci-dessous définissent les variables d'environnement pour Visual Studio uniquement, et non sur l'ensemble du système. Notez que vous ne devez le faire qu'une seule fois.

  1. Désarchivez la dernière version de boost (1.47.0 au moment de l'écriture) dans un répertoire de votre choix (par exemple C:\boost_1_47_0).
  2. Créez un nouveau projet vide dans Visual Studio.
  3. Ouvrez le gestionnaire de propriétés et développez l'une des configurations pour la plate-forme de votre choix.
  4. Sélectionnez et cliquez avec le bouton droit Microsoft.Cpp.<Platform>.useret sélectionnez Propertiespour ouvrir la page de propriétés à modifier.
  5. Sélectionnez VC++ Directoriesà gauche.
  6. Modifiez la Include Directoriessection pour inclure le chemin d'accès à vos fichiers source de boost.
  7. Répétez les étapes 3 à 6 pour la plate-forme différente de votre choix si nécessaire.

Si vous souhaitez utiliser la partie de boost qui nécessite une construction, mais aucune des fonctionnalités qui nécessite des dépendances externes, la construction est assez simple.

  1. Désarchivez la dernière version de boost (1.47.0 au moment de l'écriture) dans un répertoire de votre choix (par exemple C:\boost_1_47_0).
  2. Démarrez l'invite de commandes Visual Studio pour la plate-forme de votre choix et accédez à l'emplacement de boost.
  3. Exécutez: bootstrap.batpour construire b2.exe (précédemment nommé bjam).
  4. Exécutez b2:

    • 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

Allez vous promener / regarder un film ou 2 / ....

  1. Suivez les étapes 2 à 6 de l'ensemble d'instructions ci-dessus pour définir les variables d'environnement.
  2. Modifiez la Library Directoriessection pour inclure le chemin d'accès à la sortie de vos bibliothèques boost. (La valeur par défaut pour l'exemple et les instructions ci-dessus serait C:\boost_1_47_0\stage\lib. Renommez et déplacez d'abord le répertoire si vous voulez avoir côte à côte x86 et x64 (comme pour <BOOST_PATH>\lib\x86& <BOOST_PATH>\lib\x64).
  3. Répétez les étapes 2 à 6 pour la plate-forme différente de votre choix si nécessaire.

Si vous voulez les composants optionnels, vous avez encore du travail à faire. Ceux-ci sont:

  • Filtres Boost.IOStreams Bzip2
  • Filtres Boost.IOStreams Zlib
  • Boost.MPI
  • Boost.Python
  • Prise en charge de Boost.Regex ICU

Filtres Boost.IOStreams Bzip2:

  1. Désarchivez la dernière version de la bibliothèque bzip2 (1.0.6 au moment de l'écriture) dans un répertoire de votre choix (par exemple C:\bzip2-1.0.6).
  2. Suivez la deuxième série d'instructions ci-dessus pour créer un boost, mais ajoutez l'option -sBZIP2_SOURCE="C:\bzip2-1.0.6"lors de l'exécution de b2 à l'étape 5.

Filtres Boost.IOStreams Zlib

  1. Désarchivez la dernière version de la bibliothèque zlib (1.2.5 au moment de l'écriture) dans un répertoire de votre choix (par exemple C:\zlib-1.2.5).
  2. Suivez la deuxième série d'instructions ci-dessus pour créer un boost, mais ajoutez l'option -sZLIB_SOURCE="C:\zlib-1.2.5"lors de l'exécution de b2 à l'étape 5.

Boost.MPI

  1. Installez une distribution MPI telle que Microsoft Compute Cluster Pack.
  2. Suivez les étapes 1 à 3 du deuxième ensemble d'instructions ci-dessus pour créer un boost.
  3. Modifiez le fichier project-config.jamdans le répertoire <BOOST_PATH>résultant de l'exécution de l'amorçage. Ajoutez une ligne qui lit using mpi ;(notez l'espace avant le «;»).
  4. Suivez le reste des étapes de la deuxième série d'instructions ci-dessus pour créer un boost. Si la détection automatique de l'installation MPI échoue, vous devrez rechercher et modifier le fichier de construction approprié pour rechercher MPI au bon endroit.

Boost.Python

  1. Installez une distribution Python telle que ActivePython d'ActiveState. Assurez-vous que l'installation Python est dans votre PATH.
  2. Pour construire complètement la version 32 bits de la bibliothèque, il faut du Python 32 bits, et de même pour la version 64 bits. Si plusieurs versions sont installées pour cette raison, vous devrez indiquer à b2 où trouver la version spécifique et quand l'utiliser. Une façon de le faire serait d'éditer le fichier project-config.jamdans le répertoire <BOOST_PATH>résultant de l'exécution de l'amorçage. Ajoutez les deux lignes suivantes en ajustant en fonction de vos chemins d'installation et versions de Python (notez l'espace avant le ';').

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

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

    Notez que cette spécification Python explicite entraîne actuellement l'échec de la construction MPI. Vous devrez donc faire un bâtiment séparé avec et sans spécification pour tout construire si vous construisez également MPI.

  3. Suivez la deuxième série d'instructions ci-dessus pour créer un boost.

Prise en charge de Boost.Regex ICU

  1. Désarchivez la dernière version du fichier source de la bibliothèque ICU4C (4.8 au moment de l'écriture) dans un répertoire de votre choix (par exemple C:\icu4c-4_8).
  2. Ouvrez la solution Visual Studio dans <ICU_PATH>\source\allinone.
  3. Générez tout pour la configuration de débogage et de publication pour la plate-forme de votre choix. Il peut y avoir un problème lors de la création de versions récentes d'ICU4C avec Visual Studio 2010 lorsque la sortie de la version de débogage et de version se trouve dans le même répertoire (ce qui est le comportement par défaut). Une solution de contournement possible consiste à faire un Build All (de la version de débogage, par exemple), puis à tout reconstruire dans la 2e configuration (par exemple, la version Release).
  4. Si vous construisez pour x64, vous devrez exécuter le système d'exploitation x64 car il existe des étapes de post-construction qui impliquent l'exécution de certaines des applications 64 bits qu'il construit.
  5. Supprimez éventuellement le répertoire source lorsque vous avez terminé.
  6. Suivez la deuxième série d'instructions ci-dessus pour créer un boost, mais ajoutez l'option -sICU_PATH="C:\icu4c-4_8"lors de l'exécution de b2 à l'étape 5.
KTC
la source
@Sorin: pourquoi auriez-vous besoin de changer cela?
2010
6
Il convient de noter que vous devez choisir Outils> Paramètres> Mode expert afin de voir même les feuilles de propriétés. Il m'a fallu un peu de recherche sur Google pour enfin le découvrir ...
Zack The Human
@KTC: Il s'agit en fait de "Paramètres experts", disponible dans le menu Outils> Paramètres. J'utilise VSC ++ 2010 Express Edition et sans activer les "Paramètres experts", vous ne pouvez pas voir les feuilles de propriétés.
Zack The Human
11
Si vous voulez à la fois x64 et win32 côte à côte, ajoutez "--stagedir = lib / win32" et "--stagedir = lib / x64" aux versions respectives.
M. Tibbits
3
Pour un didacticiel vidéo sur la création et la configuration de boost pour Visual Studio 2010, cela pourrait aider: youtube.com/watch?v=5AmwIwedTCM
Christophe
158

Bien que les instructions sur le site Web de Boost soient utiles, voici une version condensée qui crée également des bibliothèques x64.

  • Vous ne devez le faire que si vous utilisez l'une des bibliothèques mentionnées dans la section 3 de la page d'instructions. (Par exemple, pour utiliser Boost.Filesystem nécessite une compilation.) Si vous n'en utilisez aucun, décompressez et c'est parti.

Construisez les bibliothèques 32 bits

Cela installe les fichiers d'en-tête Boost sous C:\Boost\include\boost-(version)et les bibliothèques 32 bits sous C:\Boost\lib\i386. Notez que l'emplacement par défaut des bibliothèques est C:\Boost\libmais vous voudrez les placer dans un i386répertoire si vous prévoyez de construire pour plusieurs architectures.

  1. Décompressez Boost dans un nouveau répertoire.
  2. Démarrez une invite de commande MSVC 32 bits et accédez au répertoire dans lequel Boost a été décompressé.
  3. Courir: bootstrap
  4. Courir: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install

    • Pour Visual Studio 2012, utilisez toolset=msvc-11.0
    • Pour Visual Studio 2010, utilisez toolset=msvc-10.0
    • Pour Visual Studio 2017, utilisez toolset=msvc-14.1
  5. Ajoutez C:\Boost\include\boost-(version)à votre chemin d'inclusion.

  6. Ajoutez C:\Boost\lib\i386à votre chemin d'accès aux bibliothèques.

Créer les bibliothèques 64 bits

Cela installe les fichiers d'en-tête Boost sous C:\Boost\include\boost-(version)et les bibliothèques 64 bits sous C:\Boost\lib\x64. Notez que l'emplacement par défaut des bibliothèques est C:\Boost\libmais vous voudrez les placer dans un x64répertoire si vous prévoyez de construire pour plusieurs architectures.

  1. Décompressez Boost dans un nouveau répertoire.
  2. Démarrez une invite de commande MSVC 64 bits et accédez au répertoire dans lequel Boost a été décompressé.
  3. Courir: bootstrap
  4. Courir: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Pour Visual Studio 2012, utilisez toolset=msvc-11.0
    • Pour Visual Studio 2010, utilisez toolset=msvc-10.0
  5. Ajoutez C:\Boost\include\boost-(version)à votre chemin d'inclusion.
  6. Ajoutez C:\Boost\lib\x64à votre chemin d'accès aux bibliothèques.
Nate
la source
24
Si vous ne voulez pas les construire vous-même, vous pouvez installer des binaires pré-construits à partir de sourceforge: sourceforge.net/projects/boost/files/boost-binaries Pour chaque version de boost, il existe des programmes d'installation pour chaque version de Visual Studio (dans 32 et 64 bits).
teeks99
Quelle est la raison d'utiliser architecture = x86 au lieu d'architecture = x64 lors d'une construction 64 bits? EDIT: Je viens de découvrir à la dure: P Vous ne pouvez pas passer à 64 ...
kayleeFrye_onDeck
hé, @ teeks99 j'ai visité votre lien donné mais pour la version v1.4.7 j'ai trouvé trop de fichiers, lequel devrais-je utiliser quand même? n'est pas mieux s'il y a un seul fichier (bibliothèque / dll) qui convient à toutes les fonctions de boost?
gumuruh
2
Essayez sourceforge.net/projects/boost/files/boost-binaries/… et vous devriez pouvoir y trouver un programme d'installation pour 1.47.0 selon que vous avez besoin de 32 bits ou 64 bits. À l'intérieur, vous trouverez de nombreuses DLL, c'est ainsi que fonctionne le boost. Cependant, tant que vous pointez votre projet Visual Studio vers le bon répertoire, peu importe le nombre, car il choisira automatiquement le ou les bons dont il a besoin.
teeks99
20

Vous pouvez également essayer -j% NUMBER_OF_PROCESSORS% comme argument, il utilisera tous vos cœurs. Rend les choses super rapides sur mon quad core.

Aaron Stainback
la source
3
Cette fois, un million ... c'est ce que j'ai finalement fait avec un effort combiné pour VS2015: b2 -j% NUMBER_OF_PROCESSORS% toolset = msvc-14.0 --build-type = complete --libdir = C: \ Boost \ lib \ x64 architecture = x86 address-model = 64 install
kayleeFrye_onDeck
pour powershell c'est: -j "$ env: NUMBER_OF_PROCESSORS"
Oscillon
14

Je pourrais recommander l'astuce suivante: créer un boost.propsfichier spécial

  1. Ouvrez le gestionnaire immobilier
  2. Cliquez avec le bouton droit sur votre nœud de projet et sélectionnez «Ajouter une nouvelle feuille de propriétés de projet».
  3. Sélectionnez un emplacement et nommez votre feuille de propriétés (par exemple, c: \ mystuff \ boost.props)
  4. Modifiez les dossiers Include et Lib supplémentaires dans le chemin de recherche.

Cette procédure a pour valeur que le boost est inclus uniquement dans les projets où vous souhaitez l'inclure explicitement. Lorsque vous avez un nouveau projet qui utilise boost, procédez comme suit:

  1. Ouvrez le gestionnaire immobilier.
  2. Cliquez avec le bouton droit sur le nœud du projet et sélectionnez «Ajouter une feuille de propriétés existante».
  3. Sélectionnez la feuille de propriétés du boost.

EDIT (modification suivante de @ jim-fred):

Le boost.propsfichier résultant ressemble à ceci ...

<?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>

Il contient une macro utilisateur pour l'emplacement du répertoire boost (dans ce cas, D: \ boost_1_53_0) et deux autres paramètres: IncludePath et LibraryPath. Une instruction #include <boost/thread.hpp>trouverait thread.hpp dans le répertoire approprié (dans ce cas, D: \ boost_1_53_0 \ boost \ thread.hpp). Le répertoire 'stage \ lib \' peut changer en fonction du répertoire installé sur.

Ce fichier boost.props pourrait se trouver dans le D:\boost_1_53_0\répertoire.

Uri
la source
13

De quelles parties de Boost avez-vous besoin? Beaucoup de choses font partie de TR1 qui est livré avec Visual Studio, vous pouvez donc simplement dire, par exemple:

#include <tr1/memory>

using std::tr1::shared_ptr;

Selon James, cela devrait également fonctionner (en C ++ 0x):

#include <memory>

using std::shared_ptr;
fredoverflow
la source
5
Dans VS2010, les bibliothèques TR1 qui font partie de C ++ 0x ont toutes été déplacées dans l' stdespace de noms, comme elles le sont dans la norme C ++ 0x. (Je pense qu'ils sont probablement aussi dans l' std::tr1espace de noms, pour des raisons de compatibilité descendante).
James McNellis
6

Ce fil existe depuis un certain temps, et j'ai pensé ajouter quelque chose sur la façon de construire Boost aussi vite que possible sur votre matériel spécifique.

Si vous avez un 4 ou 6 cœurs, utilisez -j5 ou -j7 respectivement. Certainement pas la version standard ni -j2 à moins que vous n'ayez en effet un dual core.

J'utilise un Sandy Bridge Extreme avec un stock cadencé à 3930K (6 cœurs) sur ma station principale, mais j'ai un 2600k (4 cœurs) sur une ancienne boîte de sauvegarde, et la tendance est que j'obtiens les meilleurs temps de compilation Boost avec N + 1 processus de construction où N est le nombre de cœurs physiques. N + 2 atteint un point de rendements décroissants et les temps augmentent.

Remarques: L'hyperthreading est activé, 32 Go de RAM DDR3, Samsung 840 EVO SSD.

-j7 sur 6 cœurs (2 minutes et 51 secondes) (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 sur 6 cœurs (3 minutes et 2 secondes) (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 sur 6 cœurs (3 minutes et 17 secondes) (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 s'appuie sur 6 cœurs

Config

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)

Je note que la version 64 bits prend un peu plus de temps, je dois faire la même comparaison pour ceux-ci et mettre à jour.

codenheim
la source
5

Également une petite note: si vous voulez réduire le temps de compilation, vous pouvez ajouter le drapeau

-j2

pour exécuter deux builds parallèles en même temps. Cela pourrait le réduire à la visualisation d'un film;)

GaMer13
la source
2
Expliquer comment utiliser -j2augmenterait la valeur de votre réponse.
ST3
5

Télécharger le boost depuis: http://www.boost.org/users/download/ par exemple par svn

  • Windows -> tortue (la manière la plus simple)

Après cela: cmd -> allez dans le répertoire boost ("D: \ boostTrunk" - où vous retirez ou téléchargez et extrayez le package): commande: bootstrap

nous avons créé bjam.exe dans ("D: \ boostTrunk") Après cela: commande: bjam toolset = msvc-10.0 variant = debug, release threading = multi link = static (Cela prendra du temps ~ 20min.)

Après cela: Ouvrez Visual studio 2010 -> créez un projet vide -> allez dans les propriétés du projet -> définissez:

Propriétés du projet VS 2010

Collez ce code et vérifiez s'il fonctionne?

#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;
}

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

andrew
la source
4

Voici comment j'ai pu utiliser Boost:

  1. Téléchargez et extrayez la version zip des bibliothèques Boost.
  2. Exécutez le fichier bootstrap.bat, puis exécutez bjam.exe.
  3. Attendez environ 30 minutes.
  4. Créez un nouveau projet dans Visual Studio.
  5. Allez dans projet -> propriétés -> Linker -> Général -> Répertoires de bibliothèque supplémentaires et ajoutez-y le répertoire boost / stage / lib .
  6. Allez dans le projet -> propriétés -> C / C ++ -> Général -> Inclure des répertoires supplémentaires et ajoutez-y un répertoire boost .

Vous pourrez construire votre projet sans aucune erreur!

bhavesh
la source
3

Les installateurs Windows situés ici ont parfaitement fonctionné pour moi. J'ai pris les mesures suivantes:

  1. Suivez l'assistant d'installation jusqu'à la fin.
  2. Exécutez Visual Studio.
  3. Créer un nouveau projet C ++
  4. Ouvrez les propriétés du projet (vous pouvez les trouver en cliquant avec le bouton droit sur le nom du projet dans l'explorateur de solutions)
  5. Sous "C / C ++> Général> Répertoires d'inclusion supplémentaires", ajoutez le chemin d'accès au répertoire racine de boost. La valeur par défaut de ma version était C: \ local \ boost_1_63_0. Le nombre après "boost" est la version de boost.
  6. Dans les propriétés du projet, sous "Éditeur de liens> Répertoires de bibliothèque supplémentaires", ajoutez le répertoire des fichiers de bibliothèque. La valeur par défaut de ma version était C: \ local \ boost_1_63_0 \ lib64-msvc-14.0. Le nombre après "lib" est lié à la cible de génération (32 bits ou 64 bits dans Visual Studio) et le nombre après "msvc" est lié à la version de Visual Studio (14.0 est lié à Visual Studio 2015, mais je suis l'utiliser avec le Visual Studio 2017).

Bonne chance!

Zoob
la source
2

Un petit ajout à la réponse principale très informative de KTC:

Si vous utilisez Visual Studio c ++ 2010 Express gratuit et avez réussi à obtenir celui-ci pour compiler des binaires 64 bits et que vous souhaitez maintenant l'utiliser pour utiliser une version 64 bits des bibliothèques Boost, vous pouvez vous retrouver avec 32- bibliothèques de bits (votre kilométrage peut varier bien sûr, mais sur ma machine, c'est le triste cas).

Je pourrais résoudre ce problème en utilisant ce qui suit: entre les étapes décrites ci-dessus comme

  1. Démarrez une invite de commande MSVC 32 bits et accédez au répertoire dans lequel Boost a été décompressé.
  2. Exécuter: bootstrap

J'ai inséré un appel à «setenv» pour définir l'environnement. Pour une version, les étapes ci-dessus deviennent:

  1. Démarrez une invite de commande MSVC 32 bits et accédez au répertoire dans lequel Boost a été décompressé.
  2. Exécutez: "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ setenv.cmd" / Release / x64
  3. Exécuter: bootstrap

J'ai trouvé cette information ici: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html

écotaxe
la source
Savez-vous si cela s'applique à l'édition communautaire de VS2015? Il semble que je me retrouve avec des binaires 32 bits malgré la fourniture de "address-model = 64"
paxos1977
@ paxos1977 Désolé, je ne sais pas - je n'ai pas essayé cela pour VS2015 moi-même.
écotaxe du
Cela s'applique certainement à VS 2015 Express pour l'édition de bureau, je l'ai moi-même expérimenté. L'alternative à setenv est d'invoquer "vcvarsall x86_amd64"
introiboad
1

Un exemple minimaliste pour vous aider à démarrer dans Visual Studio:

1. Téléchargez et décompressez Boost à partir d'ici.

2.Créez un projet vide Visual Studio, à l'aide d'un exemple de bibliothèque de boost qui ne nécessite pas de compilation séparée:

#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.Dans vos propriétés de projet Visual Studio, définissez les répertoires Include supplémentaires:

Propriétés du projet

Pour un exemple très simple:

Comment installer les bibliothèques Boost dans Visual Studio

Si vous ne voulez pas utiliser la bibliothèque de boost entière, juste un sous-ensemble:

Utilisation d'un sous-ensemble des bibliothèques boost dans Windows

Si vous souhaitez en savoir plus sur les bibliothèques qui nécessitent une compilation:

Comment utiliser les bibliothèques compilées Boost dans Windows

AndyUK
la source
0

De plus, il y a quelque chose que je trouve très utile. Utilisez des variables d'environnement pour vos chemins de boost. (Comment définir les variables d'environnement dans Windows, lien en bas pour 7,8,10) La variable BOOST_ROOT semble être plus courante et est définie sur le chemin racine où vous décompressez boost.

Ensuite, dans Propriétés, c ++, général, Utilisation supplémentaire des répertoires d'inclusion $(BOOST_ROOT). Ensuite, si / lorsque vous passez à une version plus récente de la bibliothèque boost, vous pouvez mettre à jour votre variable d'environnement pour pointer vers cette version plus récente. Comme plus de vos projets, utilisez boost, vous n'aurez pas à mettre à jour les «répertoires d'inclusion supplémentaires» pour chacun d'eux.

Vous pouvez également créer une variable BOOST_LIB et la pointer vers l'endroit où les bibliothèques sont organisées. De même pour les Linker-> Additional Library Directories, vous n'aurez pas à mettre à jour les projets. J'ai des vieux trucs construits avec vs10 et de nouveaux trucs avec vs14 donc j'ai construit les deux saveurs de la lib boost dans le même dossier. Donc, si je déplace un projet de vs10 à vs14, je n'ai pas à changer les voies de boost.

REMARQUE: si vous modifiez une variable d'environnement, elle ne fonctionnera pas soudainement dans un projet VS ouvert. VS charge les variables au démarrage. Vous devrez donc fermer VS et le rouvrir.

lakeweb
la source