vs编译安装boost

VS2017编译安装boost_1_72_0请看最后

 

VS2013编译、安装Boost1.55

 

1. sourceforge上下载Boost1.55

 

2. 解压到E:/boost_1_55_0

 

3. 程序 -- 所有程序 -- Visual Studio 2013 -- Visual Studio Tools -- VS2013 开发人员命令提示

 

4. 修改文件 has_member_function_callable_with.hpp

    将 219 行的:

            template<class U>
            static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
               <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);

    修改为:

            #ifdef BOOST_MSVC
               template<class U>
               static decltype( boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()
                              , boost_intrusive_has_member_function_callable_with::yes_type())
                  Test(Fun*);
            #else
               template<class U>
               static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
                  <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
            #endif


 

5. cd 到 E:/boost_1_55_0

 

6. E:\boost_1_55_0> bootstrap.bat

 

7. 如果需要编译python组件,需要先安装python的环境 (只是听闻)

 

8. 编译或者安装 (加参数 address-model=64 指示编译64位版本)

    如果只想要编译出来的库文件,执行:(我机器半小时内就完成了)

    E:\boost_1_55_0> bjam.exe stage --toolset=msvc-12.0 --without-python --stagedir=".\bin\vc12_x86" link=static runtime-link=static threading=multi debug release

    如果想安装(库文件+include), 执行:(我机器花了1-2个小时,但还是建议用安装的方式,而不是上面的编译的方式)

    E:\boost_1_55_0>bjam.exe install --toolset=msvc-12.0 --without-python --prefix=".\bin\vc12_x86" link=static runtime-link=static threading=multi debug release

    上述命令编译出的是mtd、mt的库,只要将runtime-link=static改成runtime-link=shared就可以编译出mdd、md的库。

 

测试:

1. 新建测试工程,拷贝E:\boost_1_55_0\libs\asio\example\cpp03\nonblocking下的third_party_lib.cpp文件,加入工程

    找不到设置命令行参数的地方,所以main中的if语句去掉了,atoi(argv[1])也直接改成12345

2. 修改工程属性:

    C/C++ -- 常规 -- 附加包含目录 增加 E:/boost_1_55_0/bin/vc12_x86/include/boost-1_55/

    链接器 -- 常规 -- 附加库目录 增加 E:/boost_1_55_0/bin/vc12_x86/lib

3. 编译,正常

4. debug启动,失败:找不到一系列系统的PDB文件

    调试 -- 选项和设置 -- 常规 -- 勾选启用源服务器支持 -- 确定, 调试 -- 选项和设置 -- 符号 -- 勾选Microsoft符号服务器 -- 确定

    可以启动了

5. release下貌似可以直接启动

 

参考博客:

vs2013编译boost1.55.0 32/64位:http://www.cnblogs.com/run220/p/3551134.html

vs2012运行c语言出现:无法查找或打开 PDB 文件:http://blog.sina.com.cn/s/blog_81d2b15701016pd3.html

 

更新

VS2017编译boost_1_72_0

代码不用改动,只需要打开cmd,依次执行下面各行命令即可,其中%boost_codes%是boost代码的目录


cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build"
vcvars64.bat
cd %boost_codes%
bootstrap.bat
b2.exe install --toolset=msvc-14.1 architecture=x86 address-model=64 --without-python --prefix=".\bin\x64" link=static runtime-link=shared runtime-link=static threading=multi debug release

cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build"
vcvars32.bat
cd %boost_codes%
bootstrap.bat
b2.exe install --toolset=msvc-14.1 architecture=x86 address-model=32 --without-python --prefix=".\bin\x86" link=static runtime-link=shared runtime-link=static threading=multi debug release

b2.exe是bjam.exe的新版本

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值