C++ 17``文件系统'不是名称空间name

问题描述 投票:0回答:3
G++ -STD = C ++ 17 Main.CPP -LSTDC ++

filesystem

eRror:

// #include <filesystem> <- error, so changed to the following: #include <experimental/filesystem> namespace fs = std::filesystem; int main() { return 0; }
  
GCC版本5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1〜16.04.5)

	
GCC 5.4.0于2016年6月发布;在采用C ++ 17标准之前的一年多了。 IT及其版本的LIBSTDC ++具有非常有限的C ++ 17支持。 您可以查看GCC添加C ++ 17语言功能
HERE

以及添加C ++ 17标准库功能

HEREINHEIDE。
在GCC 5.4发行的时间时,文件系统库尚未在
c++ g++ std c++17
3个回答
30
投票
名称空间中实现。 它与该版本中包含的任何其他

标头一起在std::filesystem名称空间中。

std::experimental

表示实验名称空间:
<experimental/..>
SEEE:

Http://en.cppreference.com/w/cpp/experention/fs/path

23
投票

对于MSVC(Visual Studio)

确保您的项目设置为使用C ++ 17:


0
投票

右键单击您的项目。

go到
    properties
  • c/c ++

      language
    1. .

      SET
    2. C++语言标准
    3. 至ISO C ++ 17标准(/STD:C ++ 17)

      或更高版本。

      如果您使用的是Visual Studio GO并更改C ++语言标准
    4. 右键单击项目名称 go到达常规选项卡,然后选择ISO C ++ 20

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.