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同級目錄中。