• boost 线程库


    http://www.boost.org/

    Boost的安装

    step1.从www.boost.org下载boost库

    step2 在 toolsuildjam_src目录下 运行build.bat来生成jam

    step3 设置环境变量(后面的%PATH%要加)

    PATH=%boost的绝对路径% oolsuildjam_srcin.ntx86;%PATH%

    PATH=%boost的绝对路径%;%PATH%

    For Visial Studio 6.0

    SET MSVC_ROOT="VC6的安装路径"

    SET VISUALC="VC6的安装路径"

    Example:

    SET MSVC_ROOT="c:Program FilesMicrosoft Visual StudioVC98"

    For Visual Studio.net

    SET VC7_ROOT="vs.NET安装路径"

    Example:

    SET VC7_ROOT="C:Program FilesMicrosoft Visual Studio .NETVC7"

    For Visual Studio.net 2003

    SET VC71_ROOT="vs.NET2003安装路径"

    Example:

    set VC71_ROOT="C:Program FilesMicrosoft Visual Studio .NET 2003Vc7"

    step 4 编译boost库

    bjam "-sTOOLS=%编译器%"

    Visual Studio 6.0 %编译器%=msvc

    Visual Studio .NET %编译器%=vc7

    Visual Studio .NET 2003 %编译器%=vc-7_1



    在Windows下 Build Boost线程库

    作者:伐木工

    Boost库中许多都是在.hpp中实现的,只要包含路径就可以直接就拿来使用。但是仍然有一些需要build为目标库才能够使用,包括Python,正则表达式和多线程库。

    折腾了几天,终于将Boost的多线程库搞定了,现在就将我得方法写出来,希望能给遇到麻烦的朋友一些参考。

    环境

    下面是我的一些安装路径,在安装过程中需要根据实际情况调整:

    操作系统:Win2000

    VC6: F:Microsoft Visual StudioVC98

    BOOST: F:oost_1_27_0

    安装Jam

    Build Boost线程库需要使用工具Boost.Jam。工欲善其事,必先利其器。现在先来看看如何安装Jam。

    命令行:

    F:oost_1_27_0> set VISUALC=""F:Microsoft Visual StudioVC98""

    F:oost_1_27_0> set JAM_TOOLSET=VISUALC

    F:oost_1_27_0 oolsjam_src>nmake -f bulidswin32-visualc.mk

    说明:

    首先是设置环境变量VISUALC和JAM_TOOLSET。VISUALC中有两个双引号是为了能够识别空格。如果你的VC安装路径不含空格就不必加上双引号了: set VISUALC=F:visualVC98。

    接着就是使用nmake命令编译了。不同的操作系统和不同的开发工具对应不同的mk文件,都在toolsjam_srcuilds目录下。

    如果你使用的VC7的话就会有问题,由于编译过程中要使用到advapi32.lib这个文件,VC6中是在vc98lib目录下,而VC7是在platformsdklib,这样就会找不到路径。由于没有仔细研究Jam,不知道在哪里修改这个路径,只好请大家自己动手了。

    如果不想让系统的环境变量变得杂乱不堪,可以用set VISUAL=命令将变量清除。

    完成之后,就可以在 oolsuildjam_src下看见一个新的目录,bin.ntx86,其中就包含了jam.exe。

    Build

    现在该开始创建Boost线程目标库了。

    命令行:

    f:oost_1_27_0>set Path=%PAHT:~0%;F:oost_1_27_0 oolsuildjam_srcin.ntx86

    f:oost_1_27_0> set VISUALC="F:Micors~1VC98"

    f:oost_1_27_0> jam -sBOOST_ROOT=. -sTOOLS=msvc

    说明:

    首先将jam.exe的路径加入Path变量中。

    接着设置VISUALC,这里和安装Jam时不同,请注意,用的DOS文件名。

    最后就是执行jam,-sBOOST_ROOT=.表示Boost的根目录是当前目录,-sTOOLS=msvc指明了工具名称,这些名称都是特定的,具体可以访问boost网站查询。

    build需要花些时间,可能还会有不少错误,但可以不必管他。

    完成之后,就会发现libs hreaduildin目录下多了多了两个文件夹,libboost_thread和libboost_threadmon,其中就可以找到完成lib文件和dll文件。

    使用

    首先在VC中加入路径:

    tools->option中Directories属性页中加入:

    F:BOOST_1_27_0LIBSTHREADBUILDBINLIBBOOST_THREADMONMSVCRELEASERUNTIME-LINK-DYNAMICTHREADING-MULTI

    F:BOOST_1_27_0LIBSTHREADBUILDBINLIBBOOST_THREADMSVCRELEASERUNTIME-LINK-DYNAMICTHREADING-MULTI

    在工程中加入lib文件:

    在project->setting中link属性页加入使用的lib:libboost_thread.lib libboost_threadmon.lib

    定义BOOST_HAS_THREADS宏,不然就会有如下错误:Thread support is unavailable!

    选择多线程运行库

    在project->setting->C/C++->Code Generation中Use run-time library下拉框中选Multithreaded DLL

      好了,现在就可以体会Boost线程库带给我们的全新感受了。

  • 相关阅读:
    正则
    springboot整合rabbitmq(fanout广播模式)
    docker 安装rabbitmq
    centos7安装rabbitmq
    rabbitmq报错{:query, :rabbit@master1, {:badrpc, :timeout}}
    Linux永久修改hostname
    thread dump日志文件分析
    模板方法模式
    装饰器模式
    springboot集成redis,压测报错;
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/3729572.html
Copyright © 2020-2023  润新知