獨立版的 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同級目錄中。

相關文章
相關標籤/搜索