Asio分为独立版和Boost版。二者使用方法基本一致,只是头文件不一样。Boost版是做为Boost的子库提供的。 由于Asio的组织形式为hpp文件(不一样通常的C++项目区分头文件.h和源文件.cpp),早年的Asio重度依赖Boost,可是在C++11以后,状况大为改善。所以Asio能够独立的引入(直接include)来使用。c++
当你的项目使用了Asio的独立版,须要指定C++11的宏,在去除对Boost的依赖,从达到真正的独立(standalone):bootstrap
可是由于Asio中自带的example,大多依赖于Boost,所以咱们最好也是先安装一下Boost,从而更方便的学习和上手Asio。bash
首先去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
我下载了standalone独立版的Asio,解压后,进入:c++11
./configure --with-boost=/usr/local/boost/include
--with-boost选项指定上一步安装boost库的位置(安装boost时的--prefix参数)。code
而后编译并安装
make
make install
编译到的可执行文件,就在example各个子目录的hpp同级目录中。