为什么我还要使用-lstdc ++ fs?

时间:2017-02-09 06:32:21

标签: c++ filesystems c++17 boost-filesystem

关于在最新版本的GCC和Clang中编译experimental/filesystem有几个问题:experimental::filesystem linker error

但现在filesystem已被接受,因此不再需要experimental-lstdc++fs旗帜,对吗?

错误我尝试使用#include <filesystem>clang++的头版时,我甚至无法g++http://melpon.org/wandbox

我还需要其他一些论据吗? -lstdc++fs只是给了我experimental版本,我怎么能包含官方认可的版本?

1 个答案:

答案 0 :(得分:9)

C ++标准中没有指定您必须如何调用编译器。我想这取决于实现,因此可能仍然需要-lstdc++fs

请注意,C ++ 17尚未正式成为标准,并且实现可能已经或可能尚未实现。即使C ++ 17最终成为标准,这也不会神奇地改变实现。它甚至没有定义实现应该或不应该需要的链接器标志。这是完全不相关的。

在C ++ 17成为标准并且您的实现开始支持它之后,如何包含官方接受的版本,完全是特定于实现的。我们可能只需要等待,看看它是如何运作的。