1. 程式人生 > >Linux下編譯安裝Boost1.66

Linux下編譯安裝Boost1.66

新聞

可移植的 C++ 標準庫 Boost 釋出了 1.66.0 版本,Boost 庫是一個經過千錘百煉、可移植、提供原始碼的 C++ 庫,作為標準庫的後備,是 C++ 標準化程序的發動機之一,由 C++ 標準委員會庫工作組成員發起。

使用 VS 15.5 的開發者請注意,官方表示由於 Visual Studio 15.5 釋出得太晚,所以 1.66.0 版本尚未在上面進行過測試。

1.66.0 新增了以下三個庫:

  1. Beast:輕量的 HTTP、WebSocket 和網路操作庫,使用了 C++11 和 Boost.Asio;

  2. CallableTraits:Boost.FunctionTypes 的一個“精神繼承者”。Boost.CallableTraits 是一個 C++11 庫,僅用於編譯時檢查和處理所有“可呼叫”型別的標頭檔案,還額外支援 C++ 17 的特性;

  3. Mp11:一個 C++11 超程式設計(metaprogramming)庫。

安裝

依次執行以下命令下載Boost1.66原始碼包並編譯安裝:

wget https://nchc.dl.sourceforge.net/project/boost/boost/1.66.0/boost_1_66_0.tar.gz

tar -xzvf boost_1_66_0.tar.gz

cd boost_1_66_0

./bootstrap.sh

./b2 install --prefix=/usr 

ldconfig -v

建立一個新檔案,命名為 test.cpp,輸入如下程式碼:

#include <boost/thread/thread.hpp>
#include <iostream> using namespace boost; void test() { std::cout<<"hello world!"<<std::endl; } int main(int argc, char const *argv[]) { boost::thread t1(&test); t1.join(); return 0; }

編譯命令如下:

g++ test.cpp -lboost_system -lboost_thread -lboost_filesystem
-lpthread -o test

執行:

./test

如果能成功列印“hello world!”,證明boost庫安裝成功!