VS2008下编译BOOST 1.39的ASIO库

由于全部编译BOOST库需要的时间太长,而且耗费空间,况且我只需要用ASIO库,所以就没有必要全部编译了。

boost库到www.boost.org上下载。

编译很简单,假设你的boost存放的目录是D:/BOOST_139。

1.运行VS2008的命令提示行,进入D:/BOOST_139/tools/jam;执行build_dist.bat,这样就产生了bjam.exe,该文件位于/tools/jam/stage/bin.ntx86

2.为了方便,将bjam.exe拷贝到D:/BOOST_139/;

3.开始根据自己的需要编译,我只需求ASIO库,因此分别执行:

bjam --build-type=complete --with-regex --toolset=msvc-9.0
stage 
bjam --build-type=complete --with-system --toolset=msvc-9.0
stage 
bjam --build-type=complete --with-thread  --toolset=msvc-9.0
stage 
bjam --build-type=complete --with-date_time --toolset=msvc-9.0
stage

4.设置路径。启动vs2008,打开“工具”-》“选项”,选择“项目和解决方案”->“vc++
目录”,将D:/BOOST_139/stage/lib和D:/BOOST_139分别添加到库文件和包含文件中

============================================================

其他说明:

以后还需要其他库怎么办?

按照上面的套用就行了。比如你的代码里有#include
<boost/serialization/vector.hpp>,很明显你需要serialization库,bjam
--build-type=complete
--with- serialization --toolset=msvc-9.0
stage。

网上找的一些有用的资料:

编译参数:

stage/install :stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。本人推荐使用
stage,因为install生成的这个include目录实际就是boost安装包解压缩后的boost目录(E:/SDK
/boost_1_39_0/boost,只比include目录多几个非hpp文件,都很小),所以可以直接使用,而且不同的IDE都可以使用同一套头文件,这样既节省编译时间,也节省硬盘空间。

toolset :指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)等。

without/with :选择不编译/编译哪些库。本人不需要编译python库,所以排除之,可以根据各人需要选择,默认是全部编译。但是需要注意,如果选择编译python的话,是需要python语言支持的,应该到python官方主页http://www.python.org下载安装。

stagedir/prefix :stage时使用stagedir,install时使用prefix,表示编译生成文件的路径。推荐给不同的IDE指定不同的目录,如VS2008对应的是E:/SDK/boost_1_39_0/vc9/lib,VC6对应的是E:/SDK/boost_1_39_0
/vc6/lib,否则都生成到一个目录下面,难以管理。如果使用了install参数,那么还将生成头文件目录,vc9对应的就是E:/SDK
/boost_1_39_0/vc9/include/boost-1_39/boost,vc6类似(光这路径都这样累赘,还是使用stage好)。

build-dir :编译生成的中间文件的路径。这个本人这里没用到,默认就在根目录(E:/SDK/boost_1_39_0)下,目录名为bin.v2,等编译完成后可将这个目录全部删除(没用了),所以不需要去设置。

link :生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。这里需要注意的是,static
方式下,最终生成的很多静态链接库大小都在几兆、几十兆,甚至接近百兆。这么大的库我们一般是不会采用静态链接方式的,所以这些库不推荐以static方式编译(without掉);如果已经编译了赶快删,肯定没用,否则将占用近1G的硬盘空间。以下是巨型库黑名单:wave、graph、math、
regex、test、program_options、serialization、signals。

runtime-link :动态/静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式。虽然它和link属性没有直接关系,但我们习惯上,一个工程如果用动态链接那么所有库都用动态链接,如果用静态链接那么所有库都用静态链接。所以这样其实只需要编译2种组合即可,即link=shared
runtime-link=shared和link=static
runtime-link=static。

threading :单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。

debug/release :编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。

VS2008下编译BOOST 1.39的ASIO库,布布扣,bubuko.com

时间: 2024-11-08 23:14:33

VS2008下编译BOOST 1.39的ASIO库的相关文章

VS2008下编译luabind 0.8.1

[转] 学了一段时间Lua,显然直接在项目中使用是很不方便,google了一下,似乎大家都对luabind这个lua包装类青睐有加,于是我也随大势想用用看.     先做好准备工作,下载了luabin 0.8.1源码,Boost 1.3.8源码和lua 5.1.4源码,编译环境是VS2008 SP1.之前在网上看到一些文章说这些开源软件之间的版本依赖比较敏感,可能会有这样那样的问题,动手之前有些惶恐.     幸运的是,编译过程很顺利,如下:     1.编译lua 5.1.4     进入VS

win7下编译boost库总结

很多情况下都会用到boost库,之前可能通过boostpro直接下载编译好的二进制库,不过遗憾的是目前不再可用了. 下面给出手动编译的过程说明,以版本1.44为例进行说明: 第一步,执行bootstrap.bat,将会在同目录下生成bjam.exe.后面的编译将依赖于bjam.exe 注:bjam.exe --show-libraries可以看到可以编译的库的名称,根据需要进行适当的挑选,也可以全部编译,不过会需要较长时间,建议选择编译自已需要的 第二步,开始编译bjam.exe toolset

linux下编译boost

原文出处:http://blog.ehomy.net/archives/148 工作平台:Fedora 12 获取boost库 Linux下官方提供了两个压缩版本:boost_1_43_0.tar.bz2boost_1_43_0.tar.gz 找到其中一个Unix/Linux包的直接下载地址,然后输入下列命令 sudo wget http://downloads.sourceforge.net/project/boost/boost/1.43.0/boost_1_43_0.tar.gz?use_

在VS2008下编译出sqlite3.dll和sqlite3.lib

废话就不多说了,直接进入主题. 1.进入http://sqlite.org/download.html下载sqlite-amalgamation-3071300.zip和sqlite-dll-win32-x86-3071300.zip,解压: 2.创建一个空的win32 dll项目,将解压缩的文件添加进来,进行编译,没有报错,但是查看编译目录,发现只是生成了sqlite3.dll而不见sqlite3.lib文件: 3.项目属性--配置属性--连接器--输入--模块定义文件,添加sqlite3.d

windows(msvc)下编译boost库

下载&解压 从 http://www.boost.org/ 上下载源码并解压 打开 vs 的本机工具命令提示符 cd boost_sourcecode_dir bootstrap 如果需要编译 boost.python 需要在 boost_sourcecode_dir\tools\build\example\user-config.jam 中添加如下内容: using msvc : 14.0 ; using python : 2.7 : F:\\ProgramData\\Anaconda2 :

VS2010编译Boost 1.57 静态链接库

0.前提 Boost库版本 1.57.0 下载地址 http://www.boost.org/users/history/version_1_57_0.html,选择windows版 编译器:VS2010 编译目标:静态链接库 C/C++运行库链接方式: /MT  /MTd   /MD   /MDd 官网给出的windows平台编译器测试包括 Windows: GCC, mingw: 4.4.0, 4.4.7. 4.5.4, 4.6.3, 4.7.2, 4.7.3, 4.8.0, 4.8.2,

VS2008下编译boost_1_47_0

1,boost下载 如果不想自己编译,可下载http://boostpro.com/download/boost_1_47_setup.exe,安装后,程序会提供选项供下载已经编译好的库文件,基于vs2008的所有库大概有1.3G. 下载boost最新版本:http://cdnetworks-kr-2.dl.sourceforge.net/project/boost/boost/1.47.0/boost_1_47_0.7z 2,boost编译 a,解压boost_1_47_0.7z b,打开 V

Linux下编译boost库

需要把整个PCIE的工程移植到Linux下,当初就是用cmake来管理的工程的.但是命令行之类的还是需要改动.改动还不少,cmake里面很多东西都依赖于windows.包括我用cmake重新管理的工程IMageMagick,相当繁琐,工作量也大. 当然,首先需要在Linux下安装SVN: http://www.cnblogs.com/macula/archive/2012/02/12/2347637.html http://www.blogjava.net/jasmine214--love/ar

windows下编译Boost库

下载源码 boost_1_66_0.7z 生成编译工具 D:\Project\boost_1_66_0> bootstrap.bat 配置Python环境变量(使用VS2017自带的32位python3) 编译32位boost库 D:\Project\boost_1_66_0> .\b2 install architecture=x86 address-model=32 --with-system --with-thread --with-date_time --with-regex --wi