You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

g++指定-std=c++17后无法使用std::filesystem的问题求助

C++17 filesystem库编译错误的解决方法
  • 未包含<filesystem>头文件:代码中使用std::filesystem前必须包含对应头文件,在代码开头添加:

    #include <filesystem>
    
  • 需要显式链接filesystem库:部分环境下g++ 11.4.0仍需手动链接libstdc++fs库,编译命令修改为:

    g++ -std=c++17 fstesting.cc -lstdc++fs
    

    Makefile中要在链接规则里加入-lstdc++fs参数。

  • 验证C++版本是否生效:如果以上方法无效,检查C++17是否正确启用,执行以下命令查看预定义宏:

    g++ -std=c++17 -dM -E - < /dev/null | grep __cplusplus
    

    输出应为#define __cplusplus 201703L,若不是则说明编译参数未正确生效,需检查Makefile或编译命令中是否有其他覆盖-std=c++17的设置。

内容的提问来源于stack exchange,提问作者Elliot Lacinai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:49:55