64-разрядная версия Boost для 64-битных окон

Есть ли версия 64-разрядной библиотеки Boost для VS2008? Или я должен сам скомпилировать? если, так, есть ли у кого-нибудь опыт?

Ответ 1

В качестве короткого ответа:

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

В качестве более длительного ответа, вот мои заметки о создании для 32-разрядных и 64-разрядных библиотек VS.NET 2008 в той же иерархии (что я подозреваю в распространенном случае использования):

  • Создайте двоичные файлы win32

    bjam --toolset=msvc-9.0 --build-type=complete stage
    
  • Создайте каталог lib\win32

  • Переместить содержимое сцены \lib в lib\win32
  • Удалите каталоги bin.v2 и stage
  • Создайте двоичные файлы x64

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
    
  • Создайте каталог lib\x64

  • Переместить содержимое сцены \lib в lib\x64
  • Удалите каталоги bin.v2 и stage

Ответ 3

UPDATE (19.09.2017): добавлены строки script для VS2017. Имейте в виду, что Boost поддерживает VS2017 компилятор с определенной версии выше. Я использовал последнюю версию (1.65.1).

Я использовал эти скрипты для создания boost для платформ x64 и x86, lib и dll, отладки и выпуска для VS2017, VS2015 и 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

Вы можете сделать файл .bat и запустить его для создания ваших бинарных файлов boost.

Ответ 4

В настоящий момент 64-битные двоичные файлы, предоставленные teeks99 (см. другой ответ), кажутся единственными бесплатными 64-битными двоичными файлами. Некоторое время BoostPro также предоставлял 64-битные двоичные файлы, но по состоянию на 1,51 они выглядели неработоспособными.

Итак, мы снова вернулись к двум вариантам: двоичные файлы teeks99 или создаем свои собственные.

Большая часть информации, которую мне нужно было создать, была здесь: fooobar.com/questions/18730/...

Единственное, чего не хватало, это то, как заставить это работать со свободной версией Visual Studio 2010 Express. Я нашел эту пропавшую часть где-то еще, и после некоторой настройки последний рецепт, который я использовал для моей сборки бинарных файлов 1.49.0, был следующим:

Запустите Visual С++ и в меню "Сервис" запустите командную строку Visual Studio.

В окне консоли выполните следующие действия:

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

а затем в каталоге 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

Последняя команда настроена для того, что мне нужно (только некоторые статически связанные библиотеки).

Ответ 5

Я сделал мне небольшой script, который компилирует их все для VS2005 и 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\