??本文介紹在具有sudo
權限的Ubuntu操作系統中,配置C++
的boost
庫的方法。
??boost
庫是一個廣受歡迎的C++
庫集合,提供了許多強大的功能擴展——例如其中的filesystem
模塊,可簡化文件和目錄操作,讓開發者可以輕松處理跨平臺的文件系統任務。本文就介紹一下在具有sudo
權限的Ubuntu系統中,安裝boost
庫的具體方法。
??首先,輸入如下代碼,更新軟件包列表。
sudo apt update
??隨后,輸入sudo
權限密碼,如下圖所示。
??接下來,輸入如下代碼,開始安裝boost
庫(包含其中的所有模塊)。
sudo apt install libboost-all-dev
??輸入上述代碼,并稍等按下y
鍵確認安裝,如下圖所示。
??安裝完成后,系統會自動配置好所有必要的文件和依賴項;隨后,我們就可以開始使用boost
庫了。
??在這里,我就用boost
庫中的filesystem
模塊,來驗證boost
庫的配置成功與否——這里給出一個示例代碼,其遍歷并輸出指定文件夾下的內容。
#include <iostream>
#include <boost/filesystem.hpp>int main() {namespace fs = boost::filesystem;fs::path path("/home/ctj/code");if (fs::exists(path) && fs::is_directory(path)) {for (const auto& entry : fs::directory_iterator(path)) {std::cout << entry.path() << std::endl;}} else {std::cout << "Directory does not exist or is not a directory." << std::endl;}return 0;
}
??在這里,我通過touch
命令,新建一個test.cpp
文件,并將上述代碼放入這個.cpp
文件,如下圖所示。這里需要注意,我當初不小心多打了一個touch
,所以最后不僅生成了test.cpp
文件,還生成了一個touch
文件,大家理解即可。
??隨后,逐行輸入如下代碼。其中,第一句代碼是g++
的編譯命令,用于將上述C++
源代碼(也就是我這里的test.cpp
文件)編譯為可執行文件(test
),并鏈接boost
庫中的system
和filesystem
模塊;第二句代碼則用以執行當前目錄下、我們剛剛生成的可執行文件test
。
g++ -std=c++11 test.cpp -o test -lboost_system -lboost_filesystem
./test
??運行上述代碼,可以看到上述程序已經運行——其輸出了指定文件夾下的文件目錄,如下圖所示。
??這就說明我們上述配置的boost
庫無誤。
??至此,大功告成。
歡迎關注:瘋狂學習GIS