编译boost库(转载)
来源:互联网 发布:数据库 方向 编辑:程序博客网 时间:2024/05/19 23:09
原文:http://blog.csdn.net/dupei/article/details/6110153
环境介绍
Window XP + VisualStudio 2008
获取Boost库源码
我们可以从http://www.boost.org/
解压到指定目录
例如:D:/ProgramFiles/boost/目录下获取bjam
一种方式:从http://sourceforge.net/projects/boost/files/boost-jam/上下载;
另一种方式:双击D:/ProgramFiles/boost_1_45_0/tools/build/v2/engine/src/build.bat。执行完成以后,就可以在bin.ntx86文件夹中发现bjam.exe,最后,将bjam.exe文件拷贝到D:/ProgramFiles/boost_1_45_0/目录下。
编译指定的boost库
其实,多数的boost库并不需要进行编译的,只有少部分库是平台相关的,需要单独编译,这可以在http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html
原文如下:
针对这些需要编译的库文件,我们应该如何编译呢?(个人使用的MSVC)
打开CMD,进入boost的主目录,cd“D:/Program Files/boost_1_45_0/”
因为,我们已经将bjam.exe拷贝到BOOST_ROOT/boost_1_45_0下,所以,现在,我们可以直接使用bjam来编译指定的boost库。
可以通过bjam --help查看相关操作,下面将一些常用的参数列出,如下:
--build-dir= 编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了) --stagedir= 存放编译后库文件的路径,默认是stage --build-type=complete 编译所有版本,不然只会编译一小部分版本(确切地说是相当于:variant=release, threading=multi;link=shared|static;runtime-link=shared) variant=debug|release 决定编译什么版本(Debug or Release?) link=static|shared 决定使用静态库还是动态库。 threading=single|multi 决定使用单线程还是多线程库。 runtime-link=static|shared 决定是静态还是动态链接C/C++标准库。 --with- 只编译指定的库,如输入--with-regex就只编译regex库了。 --show-libraries 显示需要编译的库名称
举例,如果我们只想编译boost.thread,我们可以使用如下命令:
bjam --toolset=msvc --build-dir=midfiles --stagedir=stage --build-type=complete --with-thread
--toolset=msvc 指定编译器,如果使用其他的编译器,可以自行指定,borland(对应BCB)或msvc(对应VC)或gcc(对应Mingw) --build-dir=midfiles 指定中间文件的目录,midfiles是我自己随便写的,方便以后删除 --build-type=complete 上面的介绍写的很清楚,就不赘述了 --with-thread 指定需要编译的boost库,当然,不指定也可以,那就全部编译,花费的时间比较长,3、4个小时吧,而且,多数还用不上。
编译完成之后,可以在D:/Program Files/boost_1_45_0/下发现多了两个文件夹midfiles(可直接删除)和stage(可以通过--stagedir=自行指定),需要的lib就在stage文件夹下了。
最后,在VisualStudio环境下设置相应的include和library目录就可以使用boost库了。
- 编译boost库(转载)
- 【转载】ubuntu下编译安装boost库
- boost库简介(转载)
- VC8编译安装boost 1.39库及测试代码(转载)
- Boost-Boost库的编译
- boost 安装(转载)
- 【转载】用DEV-C++编译BOOST
- 编译boost库
- 编译Boost库
- 简单编译boost库
- boost库编译命令
- 编译Boost库
- Boost库的编译
- 安装编译boost库
- Boost库编译
- Boost库的编译
- Boost库的编译
- 编译boost库 boost_1_34
- android获取短信并匹配姓名
- Kernel panic – not syncing: Attempted to kill init
- 键盘键值汇总(转载)
- Doxygen介绍
- Doxygen常用命令、实例
- 编译boost库(转载)
- 多线程的基本介绍
- git的一些常用方法
- 数学问题:矩阵与坐标系的使用。
- 深入理解Java虚拟机笔记---双亲委派模型
- try catch基本介绍。
- try catch throw 的一种个人应用。
- win7和linux双系统安装(转载)***…
- 文件是否存在检测的数个解决方法。