boost库的编译命令

来源:互联网 发布:淘宝卖家退货率高 编辑:程序博客网 时间:2024/06/05 19:49

转: http://anders0913.iteye.com/blog/375303

boost库编译方法,留个记号,免得忘了。 

Windows下: 

bjam.exe --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread toolset=msvc-9.0 variant=release link=static threading=multi stage

Linux下: 

./bjam --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread variant=release link=static threading=multi stage
许多新人对于编译BOOST感到无从下手,甚至因此而放弃使用BOOST,那真的太可惜了,下面我把一些常用的BOOST编译方法贴于此,同时也作为自己的笔记。 首先下载bjam.exe,复制到 $BOOST$ 目录下。或者自己生成bjam,打开Visual Studio 2008 命令提示窗口$BOOST$\tools\jam\src,执行 build.bat 会在$BOOST$\tools\jam\src\bin.ntx86 生成 bjam.exe 文件。复制文件 bjam.exe  文件到 $BOOST$\下。 1.完全编译安装: bjam --toolset=msvc install 完成后会生成一个bin.v2编译时的临时目录,手动删除。生成另一个目录C:\boost,里面为所有的头文件和库文件。头文件目录为boost_1_34_1\boost目录复制过去的。 2.只编译相应的库文件 bjam --toolset=msvc stage 完成后同样会生成bin.v2临时目录。另一个目录为stage文件,里面有对应的库文件。 3.查看需要编译才能使用的库列表 bjam --show-libraries 4.编译特定的库,如只编译regex bjam --toolset=msvc --with-regex stage 生成的库文件在stage目录中。 5.不编译某个库,如不编译regex bjam --toolset=msvc --without-regex stage 生成的库文件在stage目录中。 6.编译特定的库,如只编译regex,生成debug,多线程,共享连接版本,并保存在stage。 bjam --toolset=msvc --with-regex stage debug threading=multi link=shared 7.生成 mt-sgd 的静态库(runtime-link-static) bjam "-sTOOLS=vc-8_0" --with-thread install debug release runtime-link=static 8.编译regex库。 bjam --toolset=msvc --with-regex stage debug release threading=multi threading=single link=shared link=static runtime-link=shared runtime-link=static boost的安装方法: 对于DLL版本 bjam --toolset=msvc link=shared runtime-link=shared threading=multi stage debug release install 对于lib版本 bjam --toolset=msvc link=static runtime-link=shared threading=multi stage debug release install 另外,在$BOOST$\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 ; #在这里添加 vs2008 的配置 using msvc : 9.0 : : /wd4819 /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE  /D_SECURE_SCL=0 ; #在这里添加 vs2005 的配置 using msvc : 8.0 : : /wd4819 /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 ;    然后进入 $BOOST$ 目录,执行bjam.exe 编译命令

//下面的命令的各选项的说明: //prefix    将boost安装到的路径(生成的头文件和库文件都会放到该路径中)。 //重定义以下变量(利用-s设置): //VC80_ROOT   vc2005的安装路径,如果未将vc2005安装到默认位置,你必须指定该项。 //TOOLS         使用的编译工具,vc2005对应的是vc-8_0 //PYTHON_ROOT   ython的安装目录,如果未将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 $boost$\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. 编译所有版本: bjam --toolset=msvc-8.0 --prefix=$lib-and-dll-out-dir$ --build-type=complete install 等待编译完成. 设置开发环境: 打开VS2005 选择 工具->选项->vc++目录 设置包含文件目录$lib-and-dll-out-dir$\include\boost-1_37\boost 设置引用文件目录:$lib-and-dll-out-dir$\lib 完成.可以使用了.

原创粉丝点击