Windows+VS2013下Boost1.59编译运行

VS2013下Boost1.59的全部编译、测试运行


Boost是一个非标准库,包含着丰富的小工具,可参考《Boost程序库完全开发指南:深入C++"准"标准库(第3版)》一书(该书使用Boost1.57版本)进行使用!


1.下载源代码

Boost官方下载地址:http://www.boost.org/users/history/

选择需要下载的版本(最新版本为1.62,最低版本为1.10.3),点击Download按钮,跳转至下载页选择.zip或.7z格式压缩包下载

2.编译源代码

0)解压源代码,得到booststrap.bat文件


1)生成编译工具

点击booststrap.bat文件,弹开windows下终端,等待30秒生成b2和bjam两种编译工具


2)编译生成代码

按Win+E键输入cmd打开终端,利用命令cd切换到boost解压缩的所在文件夹下,利用生成的b2或者bjam命令进行编译生成库文件

命令1:cd  [boost解压所在路径] 

命令2:.\b2 --help   输出帮助信息了解boost编译的选项

命令3:.\b2 --buildtype=complete install 同时生成Debug和Release下的所有库,默认路径在C:\Boost\文件夹下

等待20分钟...


4)生成头文件和库文件

Boost默认生成的头文件和库文件路径在C:\Boost\文件夹下的include和lib文件夹下,编译路径可在编译时改变,详情见.\b2 --help命令中介绍


3. VS2013下测试用例

1)新建一个VS2013工程

2)新建Debug和Release属性列表

通用属性->VC++目录->包含目录:添加头文件路径(C:\Boost\include\boost-1_59)

通用属性->VC++目录->库目录:添加库文件路径(C:\Boost\lib)

链接器->输入->附加依赖项:添加库文件名字(区分Debug和Release)

Debug下:

 libboost_atomic-vc120-mt-gd-1_59.lib   
 libboost_chrono-vc120-mt-gd-1_59.lib    
 libboost_container-vc120-mt-gd-1_59.lib 
 libboost_context-vc120-mt-gd-1_59.lib   
 libboost_coroutine-vc120-mt-gd-1_59.lib   
 libboost_date_time-vc120-mt-gd-1_59.lib 
 libboost_exception-vc120-mt-gd-1_59.lib    
 libboost_filesystem-vc120-mt-gd-1_59.lib  
 libboost_graph-vc120-mt-gd-1_59.lib  
 libboost_iostreams-vc120-mt-gd-1_59.lib 
 libboost_locale-vc120-mt-gd-1_59.lib  
 libboost_log_setup-vc120-mt-gd-1_59.lib
 libboost_log-vc120-mt-gd-1_59.lib 
 libboost_math_c99f-vc120-mt-gd-1_59.lib  
 libboost_math_c99l-vc120-mt-gd-1_59.lib 
 libboost_math_c99-vc120-mt-gd-1_59.lib
 libboost_math_tr1f-vc120-mt-gd-1_59.lib 
 libboost_math_tr1l-vc120-mt-gd-1_59.lib  
 libboost_math_tr1-vc120-mt-gd-1_59.lib 
 libboost_prg_exec_monitor-vc120-mt-gd-1_59.lib 
 libboost_program_options-vc120-mt-gd-1_59.lib 
 libboost_random-vc120-mt-gd-1_59.lib  
 libboost_regex-vc120-mt-gd-1_59.lib 
 libboost_serialization-vc120-mt-gd-1_59.lib
 libboost_signals-vc120-mt-gd-1_59.lib
 libboost_system-vc120-mt-gd-1_59.lib
 libboost_test_exec_monitor-vc120-mt-gd-1_59.lib 
 libboost_thread-vc120-mt-gd-1_59.lib 
 libboost_timer-vc120-mt-gd-1_59.lib 
 libboost_unit_test_framework-vc120-mt-gd-1_59.lib 
 libboost_wave-vc120-mt-gd-1_59.lib 
 libboost_wserialization-vc120-mt-gd-1_59.lib


Release下库:

 libboost_atomic-vc120-mt-1_59.lib   
 libboost_chrono-vc120-mt-1_59.lib  
 libboost_container-vc120-mt-1_59.lib   
 libboost_context-vc120-mt-1_59.lib    
 libboost_coroutine-vc120-mt-1_59.lib   
 libboost_date_time-vc120-mt-1_59.lib    
 libboost_exception-vc120-mt-1_59.lib    
 libboost_filesystem-vc120-mt-1_59.lib   
 libboost_graph-vc120-mt-1_59.lib   
 libboost_iostreams-vc120-mt-1_59.lib     
 libboost_locale-vc120-mt-1_59.lib     
 libboost_log_setup-vc120-mt-1_59.lib    
 libboost_log-vc120-mt-1_59.lib      
 libboost_math_c99f-vc120-mt-1_59.lib     
 libboost_math_c99l-vc120-mt-1_59.lib    
 libboost_math_c99-vc120-mt-1_59.lib     
 libboost_math_tr1f-vc120-mt-1_59.lib      
 libboost_math_tr1l-vc120-mt-1_59.lib    
 libboost_math_tr1-vc120-mt-1_59.lib     
 libboost_prg_exec_monitor-vc120-mt-1_59.lib     
 libboost_program_options-vc120-mt-1_59.lib     
 libboost_random-vc120-mt-1_59.lib    
 libboost_regex-vc120-mt-1_59.lib     
 libboost_serialization-vc120-mt-1_59.lib     
 libboost_signals-vc120-mt-1_59.lib      
 libboost_system-vc120-mt-1_59.lib      
 libboost_test_exec_monitor-vc120-mt-1_59.lib      
 libboost_thread-vc120-mt-1_59.lib     
 libboost_timer-vc120-mt-1_59.lib     
 libboost_unit_test_framework-vc120-mt-1_59.lib     
 libboost_wave-vc120-mt-1_59.lib     
 libboost_wserialization-vc120-mt-1_59.lib    

3)测试程序

#include <iostream>
#include <boost/thread/thread.hpp>

using namespace std;

void hello()
{
	std::cout << "Hello world, I'm a Boost thread!" << std::endl;
}

void main(void){
	boost::thread thrd(&hello);
	thrd.join();
	system("pause");
}
4)输出结果




Ok,到此为止,Boost已经全部编译测试通过,可以开始深入使用了~




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值