1.在官网下载boost源码并解压
2.打开VS2015 X86本机工具命令提示符
3.进入boost源码目录
4.运行bootstrap.bat
5.然后输入在命令提示符输入以下命令动态编译32位boost库:
bjam stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="编译生成文件目录" link=shared runtime-link=shared threading=multi debug release
然后添加包含目录:
添加库目录:
注意boost库根据link,runtime-link和配置的不同会生成不同的lib和dll,例如静态库一般带有s,debug版本带gd,link为shared时会生成动态库和导入库(boostXXX.dll和boostXXX.lib),而link为static的时候会生成静态库(libboostXXX.lib) 动态库dll放在与解决方案同目录下的Debug或Release目录中
还有一点很重要的是使用boost动态库的时候,要在预处理器定义中添加:DLL;BOOST_DYN_LINK
如果是使用boost静态库要么在代码中添加#pragma comment(lib, "libboostXXX.lib",要么在链接器-》输入-》附加依赖项中添加libboostXXX.lib
参考博客:
参考编译命令各参数的作用:C++ Boost库的编译及使用
编译并使用boost库(win7+boost1.63+vs2015+32位or 64位)
http://blog.csdn.net/this_capslock/article/details/47170313
http://blog.csdn.net/yzf279533105/article/details/77658367?locationNum=7&fps=1
CentOS7编译boost:
环境:windows共享目录给Linux服务器:
在linux下共享目录编译boost会出错:
ln: 无法创建符号链接"../stagedir/lib/libboost_container.so": 不支持的操作
ln -f -s 'libboost_container.so.1.65.1' '../stagedir/lib/libboost_container.so'
...failed ln-UNIX ../stagedir/lib/libboost_container.so...
所以不能在共享目录编译