
本文介绍在具有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 (constauto& 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;
}
return0;
}
在这里,我通过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库无误。