我正在使用 CMake 构建一个需要 C++14 中的 的项目。运行二进制文件时,我得到了未定义的符号:_ZNSt12experimental10filesystem2v17__cxx114path14_M_split_cmptsEv。
我错过了 cmakelist.txt 中的任何内容吗?
在这个答案中,我假设您有旧版本的 GCC,它不支持 C++17 或
std::filesystem
对于旧版本的 GCC,文件系统库不是主标准库的一部分。
相反,它作为一个单独的库提供,您需要显式链接。
如果您还没有
target_link_libraries
stdc++fs