web-dev-qa-db-fra.com

Version 64 bits de Boost pour Windows 64 bits

Existe-t-il une version de la bibliothèque Boost 64 bits pour VS2008? Ou dois-je en compiler un moi-même? si oui, est-ce que quelqu'un en a déjà fait l'expérience?

119
ra170

En réponse courte:

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete

En guise de réponse plus longue, voici mes notes de construction sur le fait d’avoir les bibliothèques boostées VS .NET 2008 32 bits et 64 bits dans la même hiérarchie (ce qui, je suppose, est un cas d’utilisation courant):

  1. Construire les binaires win32

    bjam --toolset=msvc-9.0 --build-type=complete stage
    
  2. Créez le répertoire lib\win32

  3. Déplacer le contenu de stage\lib vers lib\win32
  4. Supprimer les répertoires bin.v2 et stage
  5. Construire les binaires x64

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
    
  6. Créer le répertoire lib\x64

  7. Déplacer le contenu de stage\lib vers lib\x64
  8. Supprimer les répertoires bin.v2 et stage
226
Adrian Conlon

J'ai les binaires construits sur mon site: http://boost.teeks99.com

Édition 13/05/2013: Mes versions sont maintenant disponibles (à partir de 1,53) directement à partir de la page sourceforge .

63
teeks99

UPDATE (19.09.2017): ajout de lignes de script pour VS2017. Veuillez noter que Boost prend en charge le compilateur VS2017 à partir d’une certaine version ci-dessus. J'ai utilisé la dernière version (1.65.1).

J'ai utilisé ces scripts pour la construction de boost pour les plateformes x64 et x86, lib et dll, de débogage et de publication pour VS2017, VS2015 et VS2013:

md stage\VS2017\x64
md stage\VS2015\x64
md stage\VS2013\x64    

b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release  

b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release

b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release


md stage\VS2017\win32
md stage\VS2015\win32
md stage\VS2013\win32

b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release

b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release

b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release

pause

Vous pouvez faire un .bat fichier et exécutez-le pour créer vos fichiers binaires de boost.

21
mtb

À ce moment, les fichiers binaires 64 bits fournis par teeks99 (voir autre réponse) semblent être les seuls fichiers binaires 64 bits libres disponibles. Pendant un certain temps, BoostPro a également fourni des fichiers binaires 64 bits, mais à partir de 1,51, ils semblent être en panne ou en activité.

Nous revenons donc à deux options: les binaires teeks99 ou la construction de vos propres.

La plupart des informations dont j'avais besoin pour créer les miennes se trouvaient ici: https://stackoverflow.com/a/2655683/613288

Il ne manquait plus que la solution pour que cela fonctionne avec la version gratuite de Visual Studio 2010 Express. J'ai trouvé cette pièce manquante ailleurs, et après quelques modifications, la recette finale que j'ai utilisée pour ma construction des binaires boost 1.49.0 était la suivante:

Démarrez Visual C++ et, dans le menu Outils, démarrez Invite de commandes Visual Studio.

Dans la fenêtre de la console, procédez comme suit:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd"  /Release  /x64

puis dans le répertoire boost:

bootstrap.bat
b2  -a  -sBZIP2_SOURCE="C:\bzip2-1.0.6"   -sZLIB_SOURCE="C:\zlib-1.2.5"   --toolset=msvc-10.0  architecture=x86  address-model=64  link=static  --with-date_time  --with-filesystem  --with-serialization  --with-test  --with-thread  --with-system  --with-regex  --with-iostreams  stage

La dernière commande est personnalisée pour ce dont j'ai besoin (quelques bibliothèques liées statiquement).

12
ecotax

Je me suis fait un petit script qui les compile tous pour VS2005 et VS2008:

md stage\lib\win32
md stage\lib\x64

REM Visual Studio 2005
bjam --toolset=msvc-8.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\

bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\

REM Visual Studio 2008
bjam --toolset=msvc-9.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\
4
Harald Krause