64-битная версия Boost для 64-битных окон - PullRequest
119 голосов
/ 24 февраля 2010

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

Ответы [ 5 ]

226 голосов
/ 24 февраля 2010

Как краткий ответ:

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

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

  1. Сборка бинарных файлов win32

    bjam --toolset=msvc-9.0 --build-type=complete stage
    
  2. Создать каталог lib \ win32

  3. Переместить содержимое stage \ lib в lib \ win32
  4. Удалить каталоги bin.v2 и stage
  5. Сборка бинарных файлов x64

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

  7. Переместить содержимое stage \ lib в lib \ x64
  8. Удалить каталоги bin.v2 и stage
62 голосов
/ 25 февраля 2010

У меня есть встроенные двоичные файлы на моем сайте: http://boost.teeks99.com

Редактировать 2013-05-13: Мои сборки теперь доступны (начиная с 1.53) прямо со страницы sourceforge .

21 голосов
/ 06 мая 2016

ОБНОВЛЕНИЕ (19.09.2017): добавлены строки скрипта для 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 и запустить его для создания своих бинарных файлов.

12 голосов
/ 05 сентября 2012

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

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

Большая часть информации, которая мне понадобилась для создания моей собственной, была здесь: https://stackoverflow.com/a/2655683/613288

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

Запустите Visual C ++, а из меню Сервис запустите командную строку 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

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

4 голосов
/ 24 июля 2012

Я сделал небольшой скрипт, который компилирует их для 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\
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...