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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM