Есть ли версия 64-разрядной библиотеки Boost для VS2008? Или я должен сам скомпилировать? если, так, есть ли у кого-нибудь опыт?
64-разрядная версия Boost для 64-битных окон
Ответ 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
Ответ 2
У меня есть встроенные файлы на моем сайте: http://boost.teeks99.com
Редактировать 2013-05-13: Мои сборки теперь доступны (начиная с 1.53) непосредственно с страницы исходных текстов.
Ответ 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\