zoukankan      html  css  js  c++  java
  • 独立版的 Asio安装与使用

    Asio分为独立版和Boost版。两者使用方法基本一致,只是头文件不同。Boost版是作为Boost的子库提供的。
    因为Asio的组织形式为hpp文件(不同一般的C++项目区分头文件.h和源文件.cpp),早年的Asio重度依赖Boost,但是在C++11之后,情况大为改善。因此Asio可以独立的引入(直接include)来使用。

    当你的项目使用了Asio的独立版,需要指定C++11的宏,在去除对Boost的依赖,从达到真正的独立(standalone):

    1. Microsoft Visual Studio 2012+(直接使用)
    2. Linux with g++ 4.7 or 4.8 (requires -std=c++11)
    3. Mac OS X with clang++ / Xcode 4.6 (requires -std=c++11 -stdlib=libc++)

    但是因为Asio中自带的example,大多依赖于Boost,因此我们最好也是先安装一下Boost,从而更方便的学习和上手Asio。

    安装Boost

    首先去SourceForge上面的Boost库主页下载最新的Boost库:
    https://sourceforge.net/projects/boost/files/boost/
    下载好,解压。用力的tar xvf它吧。

    因为Boost相对较大,所以解压需要一点时间。该库十分丰富强大,是学习C++的重要资源!

    Boost中的很多子库也是Header-only的,即不需要编译构建的,直接include就能使用。但也有一些事需要编译的。

    进入解压后的boost目录。

    ./bootstrap.sh --prefix=/usr/local/boost/
    

    其中--prefix表示boost库的安装位置。自己自由指定。
    上述命令执行完成后,会多出几个文件来,其中包括b2:

    ./b2 install
    

    构建Asio的测试用例

    我下载了standalone独立版的Asio,解压后,进入:

    ./configure --with-boost=/usr/local/boost/include
    

    --with-boost选项指定上一步安装boost库的位置(安装boost时的--prefix参数)。

    然后编译并安装

    make

    make install

    编译到的可执行文件,就在example各个子目录的hpp同级目录中。

  • 相关阅读:
    Android
    Android
    Android
    Android
    Android
    Android
    Android
    Android
    Android
    Android
  • 原文地址:https://www.cnblogs.com/kolane/p/12057777.html
Copyright © 2011-2022 走看看