读书人

windows 上 boost 库编译 vs2005 vs20

发布时间: 2012-09-14 11:53:44 作者: rapoo

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
完成.可以使用了.

读书人网 >操作系统

热点推荐