(CodeBlocks+MingW)安裝和使用Boost
第一步
是下載codeblocks-12.11mingw-setup.exe,下載地址::
第二步
下載Boost,然後解壓到一個目錄.可以到Boost網站(http://www.boost.org/)下載最新的版本.
例如:
我下載的是boost_1_52_0.7z.解壓到目錄:D:\ProgramFiles\boost_1_52_0:
第三步
1、編譯Boost.開啟控制檯,進入目錄D:\ProgramFiles\boost_1_52_0:
cd D:\ProgramFiles\boost_1_52_0
2、然後生成bjam.exe和b2.exe檔案:
bootstrap.bat gcc
3、[不使用Python的可忽略這步]下面的方法可以使用python庫:
修改D:\ProgramFiles\boost_1_52_0\tools\build\v2\user-config.jam最後一行即可
using python : 2.7 : C:/Python27 : C:/Python27/include : C:/Python27/Libs ;
注意 : 和 ; 都是使用空格分開的,空格不能省略,且路徑不能使用\,一定要使用/才行.
4、然後在控制檯編譯Boost並安裝Boost到目錄D:\ProgramFiles\boost:
.\b2 --toolset=gcc --prefix=D:\ProgramFiles\boost install
或者使用
漫長等待後就可以了..\bjam --prefix=D:\ProgramFiles\boost\ --build-type=complete --toolset=gcc install
如果執行此命令出現錯誤
Unable to load Boost.Build: could not find "boost-build.jam"
那通常是控制檯當前工作目錄(D:\ProgramFiles\boost_1_52_0)不對,新手常犯錯.編譯完成後下面的目錄會被自動建立:
cpp標頭檔案夾:
D:\ProgramFiles\boost\include\boost-1_52\boost\.....
庫資料夾::
D:\ProgramFiles\boost\lib\......
第四步
在Codeblocks中使用Boost.定義全域性變數boost,注意base,include和lib的填寫,
設定 Code::Blocks中的全域性變數boost
Setting->Global Variables
i. 單擊New按鈕,建立boost全域性變數
ii. 設定 base: D:\ProgramFiles\boost\
iii.設定include:D:\ProgramFiles\boost\include\boost-1_52
iv.設定lib: D:\ProgramFiles\boost\lib\
如圖所示:
第五步
設定編譯器,如圖所示:
Search directories tab Compiler sub-tab filed entered$(#boost.include)
設定Linker選項
Search directories tab Linker sub-tab filed entered$(#boost.lib)
第六步 測試boost程式
下面是個測試程式testboost.cpp,檔案格式最好儲存為UTF8,這樣中文識別會好一點:
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::cout<<"測試開始,請輸入字元:"<<std::endl;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
std::cout<<"測試完畢!"<<std::endl;
return 0;
}
OK,一切完畢,正常!
關於b2和bjam的用法如下:
Boost.Build 2011.12-svn
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 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 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 - 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 who are
building distribution packages.
The default value is 'versioned' on Windows, and
'system' on Unix.
--buildid=ID Adds the specified ID to the name of built
libraries. The default is to not add anything.
--python-buildid=ID Adds 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.
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 E:\SoftWare\Boost_MinGW\boost_1_53_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://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html
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.
...found 1 target...