代码之家  ›  专栏  ›  技术社区  ›  flexwang

将<experimental/filesystem>与CMake一起使用

  •  0
  • flexwang  · 技术社区  · 2 年前

    我使用CMake来构建一个项目,该项目需要<实验/文件系统>在C++14中。在运行二进制文件时,我得到了未定义的符号:_ZNSt12experial10filesystem2v17_cxx114path14_M_split_cptsEv。

    cmakelist.txt中有遗漏吗?

    1 回复  |  直到 2 年前
        1
  •  2
  •   Some programmer dude    2 年前

    在这个答案中,我假设您有一个较旧版本的GCC,它不支持C++17或 std::filesystem

    对于较旧版本的GCC,文件系统库不是主要标准库的一部分。

    相反,它是一个单独的库,您需要显式地与之链接。

    如果你还没有 target_link_libraries 您需要为目标添加一个命令,该命令与 stdc++fs 图书馆

    推荐文章