写点什么

在 Ubuntu 18.04 上支持 C++17 的 std::filesystem 的方法

  • 2024-11-28
    四川
  • 本文字数:803 字

    阅读完需:约 3 分钟

在Ubuntu 18.04上支持C++17的std::filesystem的方法

在 Ubuntu 18.04 上支持 C++17 的 std::filesystem,需要进行一些步骤。首先,你需要一个支持 C++17 的编译器。GCC 7 及以上版本和 Clang 5 及以上版本都支持 C++17,但 std::filesystem 是在 GCC 9 和 Clang 9 中首次完全支持的。Ubuntu 18.04 默认的 GCC 版本是 7.4.0,所以你需要升级你的编译器。

首先,我们需要添加新的 PPA(Personal Package Archive)来获取更新的 GCC 版本。打开终端,输入以下命令:

sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt update
复制代码

然后,安装 GCC 9:

sudo apt install g++-9
复制代码

安装完成后,你可以通过以下命令确认 GCC 的版本:

g++-9 --version
复制代码

现在,你已经安装了支持 std::filesystem 的编译器。接下来,你需要在编译你的 C++代码时,指定 C++17 标准和链接到正确的库。你可以在 g++命令行中添加 -std=c++17和 -lstdc++fs参数。例如:

g++-9 -std=c++17 -lstdc++fs your_file.cpp
复制代码

这里,-std=c++17告诉编译器使用 C++17 标准,-lstdc++fs告诉链接器链接到 std::filesystem 库。

如果你使用的是 CMake 构建你的项目,你可以在 CMakeLists.txt 文件中添加以下内容:

set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD_REQUIRED ON)link_libraries(stdc++fs)
复制代码

这样,CMake 会自动为你的项目添加正确的编译和链接选项。

注意,虽然 C++17 标准已经被广泛支持,但并不是所有的库和框架都已经完全适配。在使用新特性时,你可能需要检查你的依赖是否支持,或者是否需要额外的配置。

总的来说,要在 Ubuntu 18.04 上支持 C++17 的 std::filesystem,你需要升级你的编译器,然后在编译时指定正确的标准和库。这需要一些配置,但一旦设置好,你就可以享受 C++17 带来的新特性了。

蓝易云-五网CN2服务器【点我购买】蓝易云采用KVM高性能架构,稳定可靠,安全无忧!蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。


海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网 CN2 GIA/GT 精品网络服务器。拒绝绕路,拒绝不稳定。

用户头像

百度搜索:蓝易云 2023-07-05 加入

香港五网CN2免备案服务器

评论

发布
暂无评论
在Ubuntu 18.04上支持C++17的std::filesystem的方法_百度搜索:蓝易云_InfoQ写作社区