当前位置: 代码迷 >> 综合 >> (CodeBlocks+MingW)安装和使用Boost
  详细解决方案

(CodeBlocks+MingW)安装和使用Boost

热度:25   发布时间:2024-01-04 01:54:19.0

第一步

是下载codeblocks-12.11mingw-setup.exe,下载地址::

http://www.codeblocks.org/downloads/26.然后安装CodeBlocks.

第二步

下载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-svnProject-specific help:Project has jamfile at JamrootUsage: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 Win32Default; /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>/includestage                   Build and install only compiled library files=====                   to the stage directory.--stagedir=<STAGEDIR>   Install library files hereDefault; ./stageOther Options:--build-type=<type>     Build the specified pre-defined set of variationsof the libraries. Note, that which variants getbuilt depends on what each library supports.minimal (default) - Builds a minimal set of variants. On Windows, these are static multithreaded libraries in debug and releasemodes, using shared runtime. On Linux, theseare static and shared multithreaded librariesin release mode.complete - Build all possible variations.--build-dir=DIR         Build in this location instead of buildingwithin the distribution tree. Recommended!--show-libraries        Displays the list of Boost libraries that requirebuild and installation steps, then exit.--layout=<layout>       Determines whether to choose library namesand header locations such that multipleversions of Boost or multiple compilers canbe used on the same system.versioned - Names of boost binariesinclude the Boost version number, name andversion of the compiler and encoded buildproperties.  Boost headers are installed in asubdirectory of <HDRDIR> whose name containsthe Boost version number.tagged -- Names of boost binaries include theencoded build properties such as variant andthreading, but do not including compiler nameand version, or Boost version. This option isuseful if you build several variants of Boost,using the same compiler.system - Binaries names do not include theBoost version number or the name and versionnumber of the compiler.  Boost headers areinstalled directly into <HDRDIR>.  This optionis intended for system integrators who arebuilding distribution packages.The default value is 'versioned' on Windows, and'system' on Unix.--buildid=ID            Adds the specified ID to the name of builtlibraries.  The default is to not add anything.--python-buildid=ID     Adds the specified ID to the name of builtlibraries 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 librariesspecified 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 variantlink=static|shared      Whether to build static or shared librariesthreading=single|multi  Whether to build single or multithreaded binariesruntime-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\v2user-config.jamThis 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.htmlfor 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/executionFurther 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...


  相关解决方案