我必须为我的项目编写文件系统代码。我在工作中使用Linux和Clion。我被包含并试图编译简单的代码,但是有错误说没有引用std::experimental::filesystem::create:directories.编译器默认是c++ (我试过了,但也有错误)。我不能只收录,我不知道下一步该做什么。有谁可以帮我?
我希望通过std::experimental::filesystem::create_directory("root)创建目录
发布于 2019-07-25 16:23:16
根据您的编译器、标准库及其版本,您需要链接到单独的文件系统库:
从6.x和7.x:#include <experimental/filesystem>提供std::experimental::filesystem,然后您必须使用-lstdc++fs
#include <filesystem>提供std::filesystem,然后您必须使用-lc++experimental.
#include <experimental/filesystem>为您提供std::experimental::filesystem,然后您必须使用-lc++experimental.
#include <filesystem>为您提供<std::experimental::filesystem>D18std::experimental::filesystem>,然后您必须使用code进行链接请注意,您将需要显式构建libc++
-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=YES和/或
-DLIBCXX_INSTALL_FILESYSTEM_LIBRARY=YES发布于 2019-07-27 15:11:02
我解决了这个问题。对于所有阅读这个问题的人来说,在CMakeLists.txt中,首先必须链接库。CMakeLists.txt必须如下所示:
cmake_minimum_required(VERSION 3.14)
project(FileSystem)
set(CMAKE_CXX_STANDARD 17)
link_libraries(-lstdc++fs)
add_executable(FileSystem main.cpp Superblok.cpp Superblok.h Inode.cpp Inode.h
Memory.cpp Memory.h Filesystem.cpp Filesystem.h)如果你把link_libraries(-lstdc++fs)放在最后,你的代码就不能工作了。
https://stackoverflow.com/questions/57197132
复制相似问题