std::filesystem 头文件添加到我的程序时编译错误
Compile error when std::filesystem header file is added to my program
我正在尝试编译一个包含 std::filesytem 头文件的简单 C++ 程序!
#include <iostream>
#include <filesystem>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
编译时出现以下错误
In file included from C:/PROGRA~1/MINGW-~1/X86_64~2.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:\Users\{User}\CLionProjects\untitled3\main.cpp:2:
C:/PROGRA~1/MINGW-~1/X86_64~2.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In member function 'std::filesystem::__cxx11::path& std::filesystem::__cxx11::path::operator/=(const std::filesystem::__cxx11::path&)':
C:/PROGRA~1/MINGW-~1/X86_64~2.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:47: error: no match for 'operator!=' (operand types are 'std::filesystem::__cxx11::path' and 'std::filesystem::__cxx11::path')
|| (__p.has_root_name() && __p.root_name() != root_name()))
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
我正在 windows OS 使用 MingW 8.1.0 和 Clion 作为 IDE
正如此 https://en.cppreference.com/w/cpp/compiler_support 中所描述的那样,GCC 8.1 似乎已经支持 std:fileystem
ToolChain config
编辑:
语言级别在我的 CMakeList 中设置如下所示
set(CMAKE_CXX_STANDARD 17)
I am on windows OS using MingW 8.1.0 and Clion as the IDE
我最近才实现了对 std::filesystem
的 MinGW 支持,它在 GCC 8 中不存在。它目前仅在 GCC 颠覆主干中可用。
and as depicted on this https://en.cppreference.com/w/cpp/compiler_support seems like GCC 8.1 already supports std:fileystem
仅适用于非Windows 平台。 Windows 支持与 POSIX 支持有很大不同,需要做很多额外的工作。
我正在尝试编译一个包含 std::filesytem 头文件的简单 C++ 程序!
#include <iostream>
#include <filesystem>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
编译时出现以下错误
In file included from C:/PROGRA~1/MINGW-~1/X86_64~2.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:\Users\{User}\CLionProjects\untitled3\main.cpp:2:
C:/PROGRA~1/MINGW-~1/X86_64~2.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In member function 'std::filesystem::__cxx11::path& std::filesystem::__cxx11::path::operator/=(const std::filesystem::__cxx11::path&)':
C:/PROGRA~1/MINGW-~1/X86_64~2.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:47: error: no match for 'operator!=' (operand types are 'std::filesystem::__cxx11::path' and 'std::filesystem::__cxx11::path')
|| (__p.has_root_name() && __p.root_name() != root_name()))
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
我正在 windows OS 使用 MingW 8.1.0 和 Clion 作为 IDE 正如此 https://en.cppreference.com/w/cpp/compiler_support 中所描述的那样,GCC 8.1 似乎已经支持 std:fileystem
ToolChain config
编辑: 语言级别在我的 CMakeList 中设置如下所示
set(CMAKE_CXX_STANDARD 17)
I am on windows OS using MingW 8.1.0 and Clion as the IDE
我最近才实现了对 std::filesystem
的 MinGW 支持,它在 GCC 8 中不存在。它目前仅在 GCC 颠覆主干中可用。
and as depicted on this https://en.cppreference.com/w/cpp/compiler_support seems like GCC 8.1 already supports std:fileystem
仅适用于非Windows 平台。 Windows 支持与 POSIX 支持有很大不同,需要做很多额外的工作。