博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2010编译Boost 1.56
阅读量:6904 次
发布时间:2019-06-27

本文共 1368 字,大约阅读时间需要 4 分钟。

(1)首先下载源代码:http://softlayer-dal.dl.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.zip

解压到某个目录,我解压到了D盘根目录:D:\boost_1_56_0

(2)生成bjam.exe可执行文件

  用VS2010命令行:

                        

进入到到目录D:\boost_1_56_0,运行booststrap.bat得到:

                              

  这时在目录D:\boost_1_56_0生成了b2.exe、bjam.exe、project-config.jam文件。

(3)用bjam.exe编译

  运行命令bjam stage --without-python --toolset=msvc-10.0 --build-type=complete --stagedir="D:\boost_1_56_0\bin\vc10"  link=static runtime-link=shared threading=multi debug release

  bjam可以参考http://blog.chinaunix.net/uid-22301538-id-3158997.html

stage表示只生成库(dll和lib),用install的话还会生成包含头文件的include目录。

toolset指定编译器,VS2010用msvc-10.0。
without/with表示不编译/编译哪些库。
stagedir,当使用stage时用stagedir,使用install用prefix,表示编译生成文件的路径。路径的命名最好和编译器相关,编译管理。
link指定生成动态链接库或静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。
runtime-link,动态/静态链接C/C++运行时库。有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式。
threading,单/多线程编译。
debug/release,编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。

差不多需要一小时,编译完成(中间会有警告)。

编译好后,在根目录会有个bin.v2文件夹,是编译过程中的临时文件夹,很大,可以手动删除。

(4)在VS中使用Boost库

新建工程后需要把Boost库包含到工程中,右键选择属性,在VC++目录的“包含目录”中添加Boost的根目录,在“库目录”添加刚刚编译生成的位置再加上路径lib。

                          

 

之后包好头文件即可使用,例如一个多线程的测试:

 

[cpp] 
 
 
    1. #include "boost/thread.hpp"  
    2. #include "iostream"  
    3. using namespace std;  
    4. void threadFunc()  
    5. {  
    6.     cout << "This is a thread function" << endl;  
    7. }  
    8. int main()  
    9. {  
    10.     boost::function<void()> func(threadFunc);  
    11.     boost::thread t(func);  
    12.     t.join();  
    13.     return 0;  
    14. }  
你可能感兴趣的文章
Xposed hook(android)
查看>>
vs设置异常就断下
查看>>
win7 共享打印机后,客户端连接提示:打印机已删除(0x00000709)
查看>>
工作与生活之平衡(4)微博病患者
查看>>
Andriod第七课-----数据库
查看>>
Shell使用for循环语句
查看>>
ASP.NET设计的几个技巧
查看>>
电脑爱好者GHOSTWIN7纯净版V1.0
查看>>
aFleX案例:使用同一公网IP管理内部多台服务器
查看>>
面试题目集锦-bash篇
查看>>
Vmware vSphere 6.0之安装 vCenter Server Appliance
查看>>
NetSuite软件试用后能为企业所带来的改善和进步!
查看>>
Oracle Data Guard概念
查看>>
Git的学习笔记(二)
查看>>
git安装
查看>>
SEO黑页以及门页框架和JS跳转实现方法
查看>>
html5 Ajax 访问.net WebApi获取视频流
查看>>
[HNOI2008]玩具装箱TOY
查看>>
luogu P1801 黑匣子_NOI导刊2010提高(06)
查看>>
Java jdk环境变量配置
查看>>