web-dev-qa-db-fra.com

Comment créer boost Version 1.58.0 à l'aide de Visual Studio 2015 (Enterprise)

J'aime construire boost 1.58.0 en utilisant le (nouveau) Visual Studio 2015 (Enterprise). Dans le passé, j'ai procédé de la manière suivante:

  1. Téléchargez le boost 1.58.0 à partir de www.boost.org
  2. Extraire des fichiers (par exemple C:\thirdparty\vs2013\x64\boost_1_58_0)
  3. Lancer l'invite de commande Visual Studio 2013 x64 (VS2013 x64 Native Tools Command Prompt)
  4. Changer en répertoire boost (par exemple cd C:\thirdparty\vs2013\x64\boost_1_58_0)
  5. Exécuter .\bootstrap.bat
  6. Exécuter .\b2 -j8 --toolset=msvc-14.0 address-model=64 --build-type=complete stage
  7. b2 -j8 --toolset = msvc-12.0 adresse-modèle = 64 --build-type = étape complète --with-python

Mais dans VS2015, il n'y a pas d'invite de commande VS2015.

De plus, il manque le vcvarsall.bat que j'ai parfois utilisé pour configurer une invite de commande VS2013.

Comment puis-je compiler le code source de boost à l'aide de VS2015?

31
Vertexwahn

J'ai essayé d'installer Qt et le même problème se posait: vcvarsall.bat manquait . Dans mon cas, le problème était que je désactivais les outils communs de Visual C++.

J'ai modifié mon installation de VS 2015 et ajouté la fonctionnalité manquante Outils communs pour Visual C++ 2015:

 enter image description here

Après la modification, le fichier se trouve dans C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC

14
Arnaud

Malheureusement, _ { Boost documentation } _ est assez détaillé car il essaie de prendre en charge tous les systèmes d'exploitation et tous les environnements. En outre, il saute quelques détails qui font gagner du temps. Voici des étapes rapides spécifiquement pour VS2015 avec Boost 1.61.

Premièrement, comprenons que Boost est une énorme bibliothèque avec de nombreux contributeurs. Par conséquent, tout le code Boost est divisé en deux parties: en-têtes uniquement les bibliothèques et les bibliothèques en-tête + cpp. Le premier ne nécessite pas de compilation. Vous venez de les inclure et vous avez terminé. Plus tard, nécessite la construction. En général, vous n'avez pas à vous soucier des étapes supplémentaires de la construction, bien que ce soit une bonne idée de tout configurer une fois. 

Utilisation de bibliothèques Boost Header Only

  1. Téléchargez le Boost archive au format 7z et extrayez-le à l'aide de 7Zip. Le fichier Zip est beaucoup plus volumineux que le fichier 7z et peut prendre plus de 20 minutes à extraire par Windows Explorer et 5 minutes par 7Zip.
  2. Créez le dossier c:\Program Files\boost. Copiez le dossier boost_1_61_0 extrait dans ce dossier. Ce chemin exact n'est pas obligatoire, mais nous l'utilisons ici.
  3. Quel que soit le projet VC++ que vous souhaitez utiliser Boost, allez dans le projet avec le bouton droit de la souris sur Propriétés> C/C++> Général> Répertoires d'inclusion supplémentaires et ajoutez le chemin C:\Program Files\boost\boost_1_61_0 sans guillemets.

Vous devriez maintenant pouvoir utiliser la plupart des bibliothèques Boost en utilisant une instruction telle que #include <boost/thread/mutex.hpp>.

Utilisation des bibliothèques Boost Header + CPP

Exemples: Boost.Chrono, Boost.Filesystem, Boost.GraphParallel, Boost.IOStreams, Boost.Locale, Boost.Regex, Boost.Thread, Boost.System, etc. Sauf si vous utilisez ces bibliothèques, procédez comme suit ne sont pas nécessaires.

  1. Tout d’abord, assurez-vous que Windows Driver Kit n’est pas installé. Si c'est le cas, désinstallez-le pour le moment, car il est fort probable qu'il comporte des chemins d'accès erronés qui provoqueraient l'échec du script de génération de Boost.
  2. Appelez l'invite de commande d'outils natifs VS2015 x64 en tant qu'administrateur.
  3. CD dans C:\Program Files\boost\boost_1_61_0 puis exécutez bootstrap.bat.
  4. Exécuter.\B2
  5. Exécuter.\B2 variant = debug, release link = statique runtime-link = statique address-model = 64
  6. Coupez le dossier C:\Program Files\boost\boost_1_61_0\stage\lib et copiez-le dans C:\Program Files\boost\boost_1_61_0\lib.
  7. Pour le projet de console VC++ pour lequel vous souhaitez utiliser ces bibliothèques, cliquez avec le bouton droit de la souris sur Propriétés> Éditeur de liens> Général> Répertoires de bibliothèques supplémentaires et ajoutez le chemin C:\Program Files\boost\boost_1_61_0\lib. Pour les projets de bibliothèque VC++, vous trouverez le même paramètre dans Propriétés> Bibliothécaire.

Maintenant vous êtes tous ensemble!

Remarque: La question d'origine relative à l'absence de recherche de commande est adressée par @Arnaud. Vous trouverez ci-dessus des étapes plus claires pour l’installation de Boost, ainsi que l’étape 5 ci-dessous pour plus de détails sur l’invite de commande.

18
Shital Shah

ci-dessous sont les étapes

1) Téléchargez la bibliothèque ci-dessous ce site http://www.boost.org/

2) Décompressez-le. [J'ai extrait les fichiers dans le chemin "F:\Internet-Downloads\boost_1_65_1"]

 Unzip Boost library -Directory

3) Ouvrez "Invite de commandes du développeur pour VS2015" comme indiqué dans l'instantané ci-dessous.

 open_Developer_Command_Prompt

4) Allez dans le répertoire dans lequel vous avez extrait vos fichiers.

5) exécutez le fichier bootstrap.bat comme indiqué dans l'instantané ci-dessous

 Run Bootstrap.bat

6) vous obtiendrez des informations sur l'installation, comme indiqué dans l'instantané ci-dessous

 bootstrap.bat - result

7) démarrez VS2015 et créez une application de test comme indiqué dans l'instantané ci-dessous

 Test Application

8) inclure le répertoire boost dans votre projet [Répertoire du projet-> C/C++ -> Général-> Répertoires d'inclusion supplémentaires] comme indiqué dans l'instantané ci-dessous

 Include Boost Directory in testapp

9) Exécutez l'application, ajoutez "_SCL_SECURE_NO_WARNINGS" dans le répertoire du préprocesseur si vous rencontrez "l'erreur C4996: 'std :: _ Copy_impl': Appel de fonction avec des paramètres susceptibles de ne pas être sûrs ......" > C/C++ -> Preprocessor-> Définitions de processeurs]

 enter image description here

10 sorties:

 output

1
Praveer Kumar

Utilisez https://github.com/Microsoft/vcpkg à partir de l’invite de commande VS.

0
DLyons