首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

windows 上 boost 库编译 vs2005 vs2008 vs2010

2012-09-14 
windows 下 boost 库编译 vs2005 vs2008vs2010参考:http://www.cnblogs.com/luhouxiang/archive/2011/09/2

windows 下 boost 库编译 vs2005 vs2008 vs2010
参考:
http://www.cnblogs.com/luhouxiang/archive/2011/09/26/2192345.html
http://apps.hi.baidu.com/share/detail/31765188

本人环境:
os:           win7 64bit
编译器:       vs2010
boost源程序:  1.48.0

无论是vs2005,vs2008还是vs2010,步骤都差不多
大致为
1.编译bjam 
2.编译boost


下面为详细步骤:

1.打开Visual Studio 2005/2008/2010 命令提示窗口

输入set,查看有关参数,特别注意  “PROCESSOR_ARCHITECTURE=AMD64”选项,我需要编译32位的,所以输入: set PROCESSOR_ARCHITECTURE=X86

2.进入\boost_1_48_0\tools\build\v2\engine(这个路径为build.bat的路径, 有可能会有点差异,可以通过搜索的方式搜到build.bat的具体路径)

3.执行 build.bat 会在\boost_1_48_0\tools\build\v2\engine\bin.ntx86 (这个路径为生成的bjam.exe目录,可能会有点出入,同样可以通过搜索找到bjam.exe)生成bjam.exe 文件.

4.Copy bjam.exe 文件到 \boost_1_48_0下.

5.修改 \boost_1_48_0\tools\build\v2\user-config.jam 找到下面的文章
# -------------------
# MSVC configuration.
# -------------------
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
# Configure specific msvc version (searched for in standard locations and PATH).
# using msvc : 8.0 ;
#在这里添加 vs2005/vs2008/2010 的配置
#{   选其一
#for vs2008
#using msvc : 9.0 : : /wd4819 /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 ;

#for vs2005
using msvc : 8.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;  

#for vs2010
using msvc : 10.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;
#}


6.进入\boost_1_48_0 目录

7.执行bjam.exe 编译命令
//下面的命令的各选项的说明:
//prefix    将boost安装到的路径(生成的头文件和库文件都会放到该路径中)。
//重定义以下变量(利用-s设置):
//VC80_ROOT vc2005的安装路径,如果未将vc2005安装到默认位置,你必须指定该项。
//TOOLS         使用的编译工具,vc2005对应的是vc-8_0
//PYTHON_ROOT        python的安装目录,如果未将BOOST安装到默认位置,你必须指定该项。
//BUILD         编译结果选项,默认会生成尽可能多的版本,如调试版/发行版,静态库/动态库,单线程/多线程。
bjam 命令说明
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.16
Project-specific help:
Project has jamfile at Jamroot
Usage:
bjam [options] [properties] [install|stage]
Builds and installs Boost.
Targets and Related Options:
install                 Install headers and compiled library files to the
=======                 configured locations (below).
--prefix=<PREFIX>       Install architecture independent files here.
Default; C:\Boost on Win32
Default; /usr/local on Unix. Linux, etc.
--exec-prefix=<EPREFIX> Install architecture dependent files here.
Default; <PREFIX>
--libdir=<DIR>          Install library files here.
Default; <EPREFIX>/lib
--includedir=<HDRDIR>   Install header files here.
Default; <PREFIX>/include
stage                   Build and install only compiled library files
=====                   to the stage directory.
--stagedir=<STAGEDIR>   Install library files here
Default; ./stage
Other Options:
--build-type=<type>     Build the specified pre-defined set of variations
of the libraries. Note, that which variants get
built depends on what each library supports.
minimal (default) - Builds the single
"release" version of the libraries. This
release corresponds to specifying:
"release <threading>multi <link>shared
<link>static <runtime-link>shared" as the
Boost.Build variant to build.
complete - Attempts to build all possible
variations.
--build-dir=DIR         Build in this location instead of building
within the distribution tree. Recommended!
--show-libraries        Displays the list of Boost libraries that require
build and installation steps, then exit.
--layout=<layout>       Determines whether to choose library names
and header locations such that multiple
versions of Boost or multiple compilers can
be used on the same system.
versioned (default) - Names of boost
binaries include the Boost version
number and the name and version of the
compiler. Boost headers are installed
in a subdirectory of <HDRDIR> whose
name contains the Boost version
number.
system - Binaries names do not include
the Boost version number or the name
and version number of the compiler.
Boost headers are installed directly
into <HDRDIR>. This option is
intended for system integrators who
are building distribution packages.
--buildid=ID            Adds the specified ID to the name of built
libraries. The default is to not add anything.
--help                  This message.
--with-<library>        Build and install the specified <library>
If this option is used, only libraries
specified using this option will be built.
--without-<library>     Do not build, stage, or install the specified
<library>. By default, all libraries are built.
Properties:
toolset=toolset         Indicates the toolset to build with.
variant=debug|release   Select the build variant
link=static|shared      Whether to build static or shared libraries
threading=single|multi Whether to build single or multithreaded binaries
runtime-link=static|shared     
Whether to link to static or shared C and C++ runtime.
Configuration help:
Configuration file at F:\Develop\boost_1_37_0 C++\boost_1_37_0\tools\build\v2
user-config.jam
This file is used to configure your Boost.Build installation. You can modify
this file in place, or you can place it in a permanent location so that it
does not get overwritten should you get a new version of Boost.Build. See:
http://boost.org/boost-build2/doc/html/bbv2/reference.html#bbv2.reference.init
for documentation about possible permanent locations.
General command line usage:
bjam [options] [properties] [targets]
Options, properties and targets can be specified in any order.
Important Options:
* --clean Remove targets instead of building
* -a Rebuild everything
* -n Don't execute the commands, only print them
* -d+2 Show commands as they are executed
* -d0 Supress all informational messages
* -q Stop at first error
* --debug-configuration Diagnose configuration
* --debug-building Report which targets are built with what properties
* --debug-generator Diagnose generator search/execution
Further Help:
The following options can be used to obtain additional documentation.
* --help-options Print more obscure command line options.
* --help-internal Boost.Build implementation details.
* --help-doc-options Implementation details doc formatting.

8.我的编译命令,编译所有版本(其中 msvc-10.0 for vs2010, msvc-9.0 for vs2008, msvc-8.0 for vs2005).
bjam --toolset=msvc-10.0 --prefix=e:\boost --build-type=complete install
等待编译完成.

9.设置开发环境
打开VS2005/2008/2010 选择 工具->选项->vc++目录
设置包含文件目录e:\boost\boost-1_48
设置引用文件目录:e:\lib
完成.可以使用了.

热点排行