1.filesystem使用过程中遇到的错误
如果你用的GCC版本<GCC8.0,则直接#include<filesystem>会报错,说找不到文件
No such file or directory
对于这种情况,可以如下操作。如果是GCC8.0+ 和C++17以上,则只需要#include<filesystem>
①改include路径
#include <experimental/filesystem>
using fs=std::experimental::filesystem;
②找到filesystem的库
$ locate libstdc++fs.a
/usr/lib/gcc/x86_64-linux-gnu/7/libstdc++fs.a
其中,/usr/lib/gcc/x86_64-linux-gnu/7/libstdc++fs.a是我系统里的位置
③将库的位置添加到CMakeLists.txt的库链接部分
target_link_libraries(${PROJECT_NAME} /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++fs.a)
理论上,直接把库拿出来,放在项目里,链接项目的lib,应该也可行,未尝试。
2.filesystem的使用
参考资料:c++ filesystem 用法
参考资料讲得挺好,我主要用来检查文件夹是否存在,以及创建文件夹,很方便。
标签:libstd,fs,lib,c++,C++,file,filesystem,found,include From: https://blog.csdn.net/weixin_66442839/article/details/137131317