Cxxdroid 中文文档 下载 App

Boost 库一键安装 —— C++ 生态的瑞士军刀

Boost 是什么

Boost 是 C++ 生态的「瑞士军刀」——最早的 C++ 官方标准库很多组件(智能指针、正则、asio 异步 IO)都源自 Boost。它包含超过 160 个子库,涵盖:

在 Cxxdroid 里装 Boost

进入包管理器,搜索「Boost」或「boost」,点击安装。安装过程可能耗时 1 到 3 分钟——Boost 的预构建库文件本身就比较大。

安装后立即能用吗

是的。CMake 项目里写这三行就能链接 Boost:

find_package(Boost REQUIRED COMPONENTS system filesystem)
target_link_libraries(myexe PRIVATE Boost::system Boost::filesystem)

一个快速验证示例

安装完 Boost 后,新建一个 C++ 项目,粘贴:

#include <boost/filesystem.hpp>
#include <iostream>

int main() {
    namespace fs = boost::filesystem;
    fs::path p = "/sdcard";
    if (fs::exists(p)) {
        std::cout << "SD card exists, size: "
                  << fs::space(p).free << " bytes free\n";
    }
    return 0;
}

编译运行,看到 SD 卡剩余空间就说明 Boost 链接成功。

C++17 替代方案

注意:C++17 把 Boost Filesystem 纳入了标准库(std::filesystem)。如果你用 C++17 或更新的标准,可能不需要装 Boost Filesystem 了——直接用 std::filesystem 就行。

但 Boost 里仍有很多组件没进 C++ 标准(asio 网络、context 协程、process 子进程、beast HTTP),这些还是得靠 Boost。

关于编译缓存

Boost 的头文件极其庞大(boost/asio.hpp 单一个头文件展开可能超过 10 万行代码),第一次编译含 Boost 的项目会比较慢。编译缓存在这里效果特别好——第二次编译同一个 Boost 项目快得飞起。