VS2008有64位Boost库的版本吗?或者我必须自己编译一个?如果有,有人有经验吗?
kokeuurv1#
简短的回答是:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
作为一个更长的答案,下面是我关于在同一层次结构中使用VS .NET 2008 32位和64位Boost库的构建说明(我怀疑这是一个常见的用例):1.生成win32二进制文件
bjam --toolset=msvc-9.0 --build-type=complete stage
1.创建目录lib\win321.将阶段\lib的内容移动到lib\win321.删除目录bin.v2和stage1.构建x64二进制文件
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
1.创建目录lib\x641.将阶段\lib的内容移动到lib\x641.删除目录bin.v2和stage
hgb9j2n62#
我已经在我的网站上构建了二进制文件:http://boost.teeks99.com编辑2013-05-13:我的构建现在可以直接从sourceforge page获得(从1.53开始)。
bkkx9g8r3#
更新(2017年9月19日):为VS2017添加了脚本行。请注意Boost支持VS2017编译器的特定版本。我使用的是最新版本(1.65.1)。我使用这些脚本为x64和x86平台构建boost、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二进制文件。
.bat
0x6upsns4#
目前,teeks99提供的64位二进制文件(见其他答案)似乎是唯一免费的64位二进制文件。有一段时间,BoostPro也提供64位二进制文件,但截至1.51,他们似乎退出了。所以,我们又回到了两个选项:teeks99二进制文件,或者构建自己的。我构建自己的系统所需的大部分信息都在这里:https://stackoverflow.com/a/2655683/613288唯一缺少的是如何让它与Visual Studio 2010速成版的免费版本一起工作。我在其他地方找到了缺少的部分,经过一些定制后,我用于构建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
最后一个命令是为我碰巧需要的东西定制的(只是一些静态链接库)。
ercv8c1e5#
我做了一个小脚本,编译它们所有的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\
5条答案
按热度按时间kokeuurv1#
简短的回答是:
作为一个更长的答案,下面是我关于在同一层次结构中使用VS .NET 2008 32位和64位Boost库的构建说明(我怀疑这是一个常见的用例):
1.生成win32二进制文件
1.创建目录lib\win32
1.将阶段\lib的内容移动到lib\win32
1.删除目录bin.v2和stage
1.构建x64二进制文件
1.创建目录lib\x64
1.将阶段\lib的内容移动到lib\x64
1.删除目录bin.v2和stage
hgb9j2n62#
我已经在我的网站上构建了二进制文件:http://boost.teeks99.com
编辑2013-05-13:我的构建现在可以直接从sourceforge page获得(从1.53开始)。
bkkx9g8r3#
更新(2017年9月19日):为VS2017添加了脚本行。请注意Boost支持VS2017编译器的特定版本。我使用的是最新版本(1.65.1)。
我使用这些脚本为x64和x86平台构建boost、lib和dll、VS2017、VS2015和VS2013的调试和发布:
您可以创建一个
.bat
文件并运行它来构建boost二进制文件。0x6upsns4#
目前,teeks99提供的64位二进制文件(见其他答案)似乎是唯一免费的64位二进制文件。有一段时间,BoostPro也提供64位二进制文件,但截至1.51,他们似乎退出了。
所以,我们又回到了两个选项:teeks99二进制文件,或者构建自己的。
我构建自己的系统所需的大部分信息都在这里:https://stackoverflow.com/a/2655683/613288
唯一缺少的是如何让它与Visual Studio 2010速成版的免费版本一起工作。我在其他地方找到了缺少的部分,经过一些定制后,我用于构建Boost 1.49.0二进制文件的最终配方是:
启动Visual C++,然后从“工具”菜单中启动Visual Studio命令提示符。
在控制台窗口中,执行以下操作:
然后在boost目录中:
最后一个命令是为我碰巧需要的东西定制的(只是一些静态链接库)。
ercv8c1e5#
我做了一个小脚本,编译它们所有的VS2005和VS2008: