1

experimental::filesystem我刚出来时就开始使用它,并被建议以任何一种方式在我的程序构建中链接stdc++fs使用,但是如果我遗漏了额外的链接命令,我可能会破坏某些东西/做一些不必要的事情吗?target_link_libraries(MyTarget stdc++fs)CMake.

这个问题三年前提出的,似乎认为链接stdc++fs是必要的。

编辑:编译器版本是g++-9 (Homebrew GCC 9.3.0_1) 9.3.0CMake版本是 3.16。

非常感谢!

4

1 回答 1

2

从我的评论中提取:

我想这取决于你的编译器版本。从 cppreference,在文件系统库页面的最底部,您可以找到:

使用这个库可能需要额外的编译器/链接器选项。9.1 之前的 GNU 实现需要与 -lstdc++fs 链接,而 LLVM 9.0 之前的 LLVM 实现需要与 -lc++fs 链接

en.cppreference.com/w/cpp/filesystem#Notes

正如您所提到的,以下链接详细了解如何在 cmake 中检查编译器身份:如何添加所需的最低编译器版本?

于 2020-06-19T12:19:39.533 回答