您的位置:首页 > 其它

关于Windows编译Boost库的那点事

2015-03-17 12:46 309 查看
注意, 本说明仅针对新手, 已熟悉的请飘过.
请注意, 执行b2.exe 或 bjam.exe时候,请切换到boost库的根目录!!!

编译过程很简单, 有官方文档说明, 具体参见 http://www.boost.org/doc/libs/1_57_0/more/getting_started/windows.html. 事实上在解压后的文件夹里面也能找到该页面,
<boost-root-dir>/more/getting_started/windows.html.

但是官网说明里面有一个很不清晰的地方, 新手碰到, 经常会出问题.

不清楚的地方在于第三步, 此处一定要切换到<boost-root-dir>目录才能完成编译安装过程.

另附 b2 说明文件.

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

Usage:

b2 [options] [properties] [install|stage]

Builds and installs Boost.

---------------------------------------------------------------------------------------------------------

1. Targets and Related Options:

---------------------------------------------------------------------------------------------------------

1-1) 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; <PREFIX>/lib

--includedir=<HDRDIR> Install header files here.

Default; <PREFIX>/include

---------------------------------------------------------------------------------------------------------

1-2) stage Build and install only compiled library files to the

===== stage directory.

--stagedir=<STAGEDIR> Install library files here

Default; ./stage

---------------------------------------------------------------------------------------------------------

2. 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 a minimal set of

variants. On Windows, these are static

multithreaded libraries in debug and release

modes, using shared runtime. On Linux, these are

static and shared multithreaded libraries in

release mode.

-- complete -- Build all possible variations.

--build-dir=DIR Build in this location instead of building within

the distribution tree. Recommended!

--show-libraries Display the list of Boost libraries that require

build and installation steps, and then exit.

--layout=<layout> Determine 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 -- Names of boost binaries include

the Boost version number, name and version of

the compiler and encoded build properties. Boost

headers are installed in a subdirectory of

<HDRDIR> whose name contains the Boost version

number.

-- tagged -- Names of boost binaries include the

encoded build properties such as variant and

threading, but do not including compiler name

and version, or Boost version. This option is

useful if you build several variants of Boost,

using the same compiler.

-- 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 building

distribution packages.

The default value is 'versioned' on Windows, and

'system' on Unix.

--buildid=ID Add the specified ID to the name of built libraries.

The default is to not add anything.

--python-buildid=ID Add the specified ID to the name of built libraries

that depend on Python. The default is to not add

anything. This ID is added in addition to --buildid.

--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.

---------------------------------------------------------------------------------------------------------

3. Properties:

---------------------------------------------------------------------------------------------------------

toolset=toolset Indicate 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.

address-model=32/64

The
address-model
specifies if 32-bit or 64-bit code should be generated by the compiler. Whether this feature works depends on the used compiler, its version, how the
compiler is configured, and the values of the
architecture
instruction-set
features. Please see the
section called “C++ Compilers” for details.

---------------------------------------------------------------------------------------------------------

4. General command line usage:

---------------------------------------------------------------------------------------------------------

b2 [options] [properties] [targets]

Options, properties and targets can be specified in any order.

---------------------------------------------------------------------------------------------------------

5. 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

* --reconfigure Rerun all configuration checks

* --debug-configuration Diagnose configuration

* --debug-building Report which targets are built with what properties

* --debug-generator Diagnose generator search/execution

---------------------------------------------------------------------------------------------------------

6. 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.

---------------------------------------------------------------------------------------------------------

END

---------------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: