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?
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):
Construire les binaires win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Créez le répertoire lib\win32
Construire les binaires x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Créer le répertoire lib\x64
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 .
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.
À 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).
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\