Ubuntu系统配置C++的boost库(含filesystem模块)的方法
本文介绍在具有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