编译boost,源自<Boost程序库完全开发指南>
2013-04-09 21:09
435 查看
STLport
比vc自带的更优越.
下载地址:www.stlport.org
Debug模式下使用STLport,需要定义宏"__STL_DEBUG"
Debug模式与Boost配合使用STLport,需要定义宏"_STLP_DEBUG"
与MFC配合使用STLport,需要定义宏"_STLP_USE_MFC"
编译STLport
1.从"开始"菜单运行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"
2.执行命令"cd d:\STLport",进入STLport目录
3.执行命令"configue msvc10"
4.执行命令"cd d:\STLport\build\lib"进入lib目录
5.执行命令"nmake -f msvc.mak clean install"
编译时间较长,编译完成后会自动将编译出的*.dll和*.lib复制到STLport\lib和STLport\bin目录下,之后可讲STLport\build\lib\obj目录删除节约硬盘空间
编译bjam
boost编译未使用make,而是bjam,可下载,可自行编译版本
1.从"开始"菜单运行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"
2.执行命令"cd d:\boost\tools\jam\src"
3.运行build.bat,开始编译bjam
编译完成后,bjam.exe程序位于src\bin.ntx86下
无论是下载还是编译,最后都需要将bjam.exe程序拷贝到boost的根目录d:\boost
使用bjam前需要修改bjam的配置文件:boost\toost\build\v2\user-config.jam
1.修改57行,去掉前面的#注释,启用msvc8.0
2.修改75行,去掉前面的#注释,启用STLport,修改STLport的头文件路径和lib文件路径,路径使用"/"分隔.如:using stlport::d:/stlport/src d:/stlport/lib;
如果不使用STLport替代C++标准库,第二步省略.
完全编译boost
1.在boost根目录执行命令
bjam --toolset=msvc --build-type=complete stdlib=stlport stage
或者(Linux)
bjam --toolset=gcc --build-type=complete stage
toolset 指定编译器
build-type指定编译类型,如不指定则默认使用release模式
stdlib指定要搭配的标准库,如不使用可不用该选项
stage选项指定boost本地构建.如果使用install选项则编译后会把boost安装到默认路径下(win c:\boost,linux: /usr/local)
编译成功后可以在boost\bin.v2目录下找到生成的*.dll和*.lib,拷贝到其他目录(如boost\vc8lib),之后就可以把bin.v2目录删除
部分编译
bjam --toolset=msvc --with-date_time --build-type=complete stdlib=stlport stage将仅编译data_time库
bjam可指定安装路径,debug或者release版本,查询其它资料获得更多信息.
嵌入代码编译
BOOST_ALL_NO_LIB或者BOOST_XXX_NO_LIB(XXX表示某库名称),以指示boost库不要自动连接功能
使用时需要设置文件目录和库目录
比vc自带的更优越.
下载地址:www.stlport.org
Debug模式下使用STLport,需要定义宏"__STL_DEBUG"
Debug模式与Boost配合使用STLport,需要定义宏"_STLP_DEBUG"
与MFC配合使用STLport,需要定义宏"_STLP_USE_MFC"
编译STLport
1.从"开始"菜单运行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"
2.执行命令"cd d:\STLport",进入STLport目录
3.执行命令"configue msvc10"
4.执行命令"cd d:\STLport\build\lib"进入lib目录
5.执行命令"nmake -f msvc.mak clean install"
编译时间较长,编译完成后会自动将编译出的*.dll和*.lib复制到STLport\lib和STLport\bin目录下,之后可讲STLport\build\lib\obj目录删除节约硬盘空间
编译bjam
boost编译未使用make,而是bjam,可下载,可自行编译版本
1.从"开始"菜单运行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"
2.执行命令"cd d:\boost\tools\jam\src"
3.运行build.bat,开始编译bjam
编译完成后,bjam.exe程序位于src\bin.ntx86下
无论是下载还是编译,最后都需要将bjam.exe程序拷贝到boost的根目录d:\boost
使用bjam前需要修改bjam的配置文件:boost\toost\build\v2\user-config.jam
1.修改57行,去掉前面的#注释,启用msvc8.0
2.修改75行,去掉前面的#注释,启用STLport,修改STLport的头文件路径和lib文件路径,路径使用"/"分隔.如:using stlport::d:/stlport/src d:/stlport/lib;
如果不使用STLport替代C++标准库,第二步省略.
完全编译boost
1.在boost根目录执行命令
bjam --toolset=msvc --build-type=complete stdlib=stlport stage
或者(Linux)
bjam --toolset=gcc --build-type=complete stage
toolset 指定编译器
build-type指定编译类型,如不指定则默认使用release模式
stdlib指定要搭配的标准库,如不使用可不用该选项
stage选项指定boost本地构建.如果使用install选项则编译后会把boost安装到默认路径下(win c:\boost,linux: /usr/local)
编译成功后可以在boost\bin.v2目录下找到生成的*.dll和*.lib,拷贝到其他目录(如boost\vc8lib),之后就可以把bin.v2目录删除
部分编译
bjam --toolset=msvc --with-date_time --build-type=complete stdlib=stlport stage将仅编译data_time库
bjam可指定安装路径,debug或者release版本,查询其它资料获得更多信息.
嵌入代码编译
BOOST_ALL_NO_LIB或者BOOST_XXX_NO_LIB(XXX表示某库名称),以指示boost库不要自动连接功能
使用时需要设置文件目录和库目录
相关文章推荐
- 使用muduo编译链接错误 undefined reference to `muduo::ThreadPool::run(boost::function<void ()()>&&)'
- folly编译错误boost::re_detail_106100::cpp_regex_traits_implementation<char>::transform解决办法
- <深入剖析Nginx> 编译安装nginx 以及使用eclipse编译开发nginx
- Ubuntu14下Hadoop开发<2> 编译64位Hadoop2.4
- <为知更新>eclipse生成的apk和系统编译产生的apk有何不同
- iOS 编译 <Error>: CGContextRestoreGState:
- <Boost> 正則表達式boost::regex
- 【视频】ffmpeg编译成功<Linux + VS2005>
- 如何在Win10上玩转caffe之<1>编译
- RT-Thread 学习笔记(十二)--- 开启基于RTGUI的LCD显示功能(2)<编译测试>
- 相同的代码在eclipse中编译成功,但是用ant编译失败。无法确定<T>T的类型参数;对于上限为int,java.lang.Object的类型变量T,不存在唯一最大实例
- Android编译源码时出现的:<命令行>:0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror]
- Ubuntu14.04 LTS下 <<UNIX环境高级编程>>源代码下载编译步骤
- <android编译ffmpeg+x264+faac> <Android/NDK环境下FFmpeg及AAC,MP3,X264的编译>
- 编译uboot-TI DM8186<<TI81XX PSP U-Boot>>
- 支付宝的SDK 编译 #include <openssl/asn1.h> not found
- 编译Sonatype Nexus源代码出现“无法确定 <R>R 的类型参数”错误的解决
- <备份>10月12日 内核编译与日志
- <Boost> smart_ptr智能指针
- <转>学习java反编译工具的使用