独立版的 Asio安装与使用

Asio分为独立版和Boost版。二者使用方法基本一致,只是头文件不一样。Boost版是做为Boost的子库提供的。 由于Asio的组织形式为hpp文件(不一样通常的C++项目区分头文件.h和源文件.cpp),早年的Asio重度依赖Boost,可是在C++11以后,状况大为改善。所以Asio能够独立的引入(直接include)来使用。c++

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

  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。bash

安装Boost

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

由于Boost相对较大,因此解压须要一点时间。该库十分丰富强大,是学习C++的重要资源!测试

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

进入解压后的boost目录。spa

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

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

./b2 install

构建Asio的测试用例

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

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

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

而后编译并安装

make

make install

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

相关文章
相关标签/搜索