361 votes

Comment faire pour utiliser Boost dans Visual Studio 2010

Ce qui est une bonne explication étape par étape sur la façon d'utiliser Boost dans un nouveau projet dans Visual Studio 2010.

506voto

KTC Points 6022

Alors que Nate réponse est déjà assez bien, je vais développer plus spécifiquement pour Visual Studio 2010 comme l'avait demandé, et inclure des informations sur la compilation dans les différents composants optionnels qui nécessite des bibliothèques externes.

Si vous utilisez les en-têtes des bibliothèques, puis tout ce que vous devez faire est de désarchiver le coup de pouce de télécharger et de définir les variables d'environnement. Les instructions ci-dessous définir les variables d'environnement pour Visual Studio uniquement, et non à travers l'ensemble du système. Remarque vous n'avez qu'à le faire une fois.

  1. Désarchiver la dernière version de boost (1.47.0 comme de l'écriture) dans un répertoire de votre choix (par exemple, C:\boost_1_47_0).
  2. Créer un nouveau projet dans Visual Studio.
  3. Ouvrez le Gestionnaire de la Propriété et de développer une de la configuration de la plate-forme de votre choix.
  4. Sélectionnez et cliquez-droit sur Microsoft.Cpp.<Platform>.user, et sélectionnez - Properties pour ouvrir la Page de propriétés pour modifier.
  5. Sélectionnez VC++ Directories sur la gauche.
  6. Modifier l' Include Directories article pour y inclure le chemin d'accès à votre boost fichiers sources.
  7. Répétez les étapes 3 à 6 pour différentes plate-forme de votre choix si nécessaire.

Si vous souhaitez utiliser la partie de boost qui exigent le bâtiment, mais aucune des caractéristiques qui nécessite des dépendances externes, puis d'un bâtiment, il est assez simple.

  1. Désarchiver la dernière version de boost (1.47.0 comme de l'écriture) dans un répertoire de votre choix (par exemple, C:\boost_1_47_0).
  2. Démarrez l'Invite de Commande Visual Studio pour la plate-forme de votre choix et accédez à l'emplacement où boost est.
  3. Exécution: bootstrap.bat de construire b2.exe (précédemment nommé bjam).
  4. Exécuter 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. Aller pour une promenade, regarder un film ou 2 / ....
  5. Aller à travers les étapes 2 à 6 de l'ensemble d'instructions ci-dessus pour définir les variables d'environnement.
  6. Modifier l' Library Directories article pour y inclure le chemin d'accès à votre boost bibliothèques de sortie. (La valeur par défaut pour l'exemple et les instructions ci-dessus serait C:\boost_1_47_0\stage\lib. Renommer et déplacer le répertoire d'abord, si vous voulez avoir x86 & x64 côte à côte (comme d' <BOOST_PATH>\lib\x86 & <BOOST_PATH>\lib\x64).
  7. Répétez les étapes 2 à 6 pour les différentes plate-forme de votre choix si nécessaire.

Si vous voulez les composants en option, alors vous avez encore du travail à faire. Ce sont:

  • Coup de pouce.IOStreams Bzip2 filtres
  • Coup de pouce.IOStreams filtres Zlib
  • Coup de pouce.MPI
  • Coup de pouce.Python
  • Coup de pouce.Regex soins intensifs de soutien

Coup de pouce.IOStreams Bzip2 filtres:

  1. Désarchiver la dernière version de bzip2 bibliothèque (1.0.6 comme de l'écriture) source des fichiers dans un répertoire de votre choix (par exemple, C:\bzip2-1.0.6).
  2. Suivez la deuxième ensemble d'instructions ci-dessus pour construire le coup de pouce, mais en ajoutant l'option -sBZIP2_SOURCE="C:\bzip2-1.0.6" lors de l'exécution de b2 à l'étape 5.

Coup de pouce.IOStreams filtres Zlib

  1. Désarchiver la dernière version de bibliothèque zlib (1.2.5 comme de l'écriture) source des fichiers dans un répertoire de votre choix (par exemple, C:\zlib-1.2.5).
  2. Suivez la deuxième ensemble d'instructions ci-dessus pour construire le coup de pouce, mais en ajoutant l'option -sZLIB_SOURCE="C:\zlib-1.2.5" lors de l'exécution de b2 à l'étape 5.

Coup de pouce.MPI

  1. Installer un MPI de distribution tels que Microsoft Cluster de Calcul Pack.
  2. Suivez les étapes 1 - 3 de la deuxième ensemble d'instructions ci-dessus pour construire le coup de pouce.
  3. Modifier le fichier project-config.jam dans le répertoire <BOOST_PATH> résultant de l'exécution de bootstrap. Ajouter une ligne qui lisent using mpi ; (notez l'espace avant le ';').
  4. Suivez le reste des étapes à partir de la deuxième ensemble d'instructions ci-dessus pour construire le coup de pouce. Si l'auto-détection de la MPI installation échoue, alors vous aurez besoin de chercher et de modifier le approprié de construire de fichier à rechercher MPI dans le bon endroit.

Coup de pouce.Python

  1. Installer une distribution Python comme ActiveState est ActivePython. Assurez-vous que l'installation de Python est dans votre PATH.
  2. Entièrement construit en 32 bits version de la bibliothèque a besoin de 32-bits de Python, et de même pour les 64 bits version. Si vous avez plusieurs versions installées pour cette raison, vous aurez besoin de dire à b2 où trouver la version et quand les utiliser. Une façon de le faire serait de modifier le fichier project-config.jam dans le répertoire <BOOST_PATH> résultant de l'exécution de bootstrap. Ajouter les deux lignes suivantes de réglage en fonction de votre installation de Python chemins & les versions (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 ;

    Ne noter que ces explicite Python spécification actuellement provoquer MPI construire à l'échec. De sorte que vous aurez besoin de faire quelques bâtiment séparé avec et sans spécification de tout construire si vous êtes la construction de MPI.

  3. Suivez la deuxième ensemble d'instructions ci-dessus pour construire le coup de pouce.

Coup de pouce.Regex soins intensifs de soutien

  1. Désarchiver la dernière version de ICU4C bibliothèque (4.8 que l'écriture du fichier source dans un répertoire de votre choix (par exemple, C:\icu4c-4_8).
  2. Ouvrez la Solution Visual Studio en <ICU_PATH>\source\allinone.
  3. Construire Ensemble pour le debug et release de la configuration de la plate-forme de votre choix. Il y a peut être un problème de construction les dernières versions de ICU4C avec Visual Studio 2010 lors de la sortie de debug et release sont dans le même répertoire (ce qui est le comportement par défaut). Une solution possible est de faire un Build Tout (de debug dire) et puis faire un tout Reconstruire dans la 2ème configuration (par exemple, la libération de construire).
  4. Si le bâtiment pour x64, vous devez exécuter le système d'exploitation x64, comme il existe post-construction des mesures qu'implique l'exécution de certains de la version 64 bits d'application de la construction.
  5. Éventuellement supprimer le répertoire source lorsque vous avez terminé.
  6. Suivez la deuxième ensemble d'instructions ci-dessus pour construire le coup de pouce, mais en ajoutant l'option -sICU_PATH="C:\icu4c-4_8" lors de l'exécution de b2 à l'étape 5.

155voto

Nate Points 8984

Alors que les instructions sur la relance de site web sont utiles, voici une version condensée qui s'appuie également x64 bibliothèques.

  • Vous avez seulement besoin de faire cela si vous utilisez l'une des bibliothèques mentionnées dans la section 3 de la page d'instructions. (E. g., pour utiliser Boost.Système de fichiers nécessite la compilation.) Si vous n'êtes pas en utilisant l'un de ces, il suffit de décompresser et aller.

Construire la 32-bits des bibliothèques

Ceci installe le coup de pouce de l'en-tête des fichiers de moins C:\Boost\include\boost-(version), et 32 bits des bibliothèques en vertu de l' C:\Boost\lib\i386. Notez que l'emplacement par défaut pour les bibliothèques est - C:\Boost\lib , mais vous aurez envie de les mettre dans un i386 répertoire si vous envisagez de construire pour plusieurs architectures.

  1. Décompressez Boost dans un nouveau répertoire.
  2. Démarrer un 32 bits MSVC invite de commande et accédez au répertoire où Boost a été décompressé.
  3. Exécution: bootstrap
  4. Exécution: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install
    • Pour Visual Studio 2012, l'utilisation toolset=msvc-11.0
    • Pour Visual Studio 2010, utilisez toolset=msvc-10.0
  5. Ajouter C:\Boost\include\boost-(version) de votre chemin.
  6. Ajouter C:\Boost\lib\i386 de votre libs chemin.

Construire le 64 bits des bibliothèques

Ceci installe le coup de pouce de l'en-tête des fichiers de moins C:\Boost\include\boost-(version), et 64 bits des bibliothèques en vertu de l' C:\Boost\lib\x64. Notez que l'emplacement par défaut pour les bibliothèques est - C:\Boost\lib , mais vous aurez envie de les mettre dans un x64 répertoire si vous envisagez de construire pour plusieurs architectures.

  1. Décompressez Boost dans un nouveau répertoire.
  2. Démarrer une version 64 bits de MSVC invite de commande et accédez au répertoire où Boost a été décompressé.
  3. Exécution: bootstrap
  4. Exécution: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Pour Visual Studio 2012, l'utilisation toolset=msvc-11.0
    • Pour Visual Studio 2010, utilisez toolset=msvc-10.0
  5. Ajouter C:\Boost\include\boost-(version) de votre chemin.
  6. Ajouter C:\Boost\lib\x64 de votre libs chemin.

20voto

Aaron Stainback Points 974

Vous pouvez également essayer d'-j%NOMBRE_DE_PROCESSEURS% comme argument, il va utiliser tous les cœurs. Fait des choses super rapide sur mon quad core.

14voto

Uri Points 4568

Je pourrais recommander l'astuce suivante: Créer un spécial boost.props le fichier

  1. Ouvrez le gestionnaire de la propriété
  2. Cliquez-droit sur le nœud de votre projet et sélectionnez "Ajouter un nouveau projet de feuille de propriétés'.
  3. Sélectionnez un emplacement et le nom de votre feuille de propriétés (par ex. c:\mystuff\boost.props)
  4. Modifier les additional include et Lib dans le chemin de recherche.

Cette procédure a de la valeur que boost est inclus uniquement dans des projets où vous souhaitez inclure explicitement. Lorsque vous avez un nouveau projet qui utilise boost:

  1. Ouvrez le gestionnaire de la propriété.
  2. Cliquez-droit sur le nœud du projet, et sélectionnez "Ajouter existant feuille de propriétés'.
  3. Sélectionnez la poussée de la feuille de propriétés.

EDIT (édition suivantes à partir de @jim-fred):

Le résultant boost.props le fichier ressemble à quelque chose comme ça...

<?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 de la boost répertoire (dans ce cas, D:\boost_1_53_0) et de deux autres paramètres: IncludePath et Chemin_accès_librairie. Un énoncé #include <boost/thread.hpp> serait de trouver le fil.php dans le répertoire approprié (dans ce cas, D:\boost_1_53_0\boost\thread.hpp). La " scène\lib\' annuaire peut changer en fonction du répertoire installé.

Ce coup de pouce.accessoires de fichier peut être situé dans l' D:\boost_1_53_0\ répertoire.

13voto

FredOverflow Points 88201

Quelles parties de Boost avez-vous besoin? Beaucoup de choses fait partie de TR1 qui est fourni avec Visual Studio, donc vous pouvez tout simplement vous dire, par exemple:

#include <tr1/memory>

using std::tr1::shared_ptr;

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

#include <memory>

using std::shared_ptr;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X