2017-02-09 223 views
1

已经有几个问题,关于得到experimental/filesystem在GCC和锵的最新版本编译:experimental::filesystem linker error为什么我必须使用-lstdC++ fs?

但现在filesystem已被接受为所以experimental不再需要或-lstdc++fs标志,对不对?

错误我的头版本的任何clang++g++甚至#include <filesystem>当我尝试上:http://melpon.org/wandbox

是否还有其他一些说法我需要什么? -lstdc++fs只是给我的experimental版本,我怎么能包括正式接受的版本?

+5

有很多国家成员体评论提出有关文件系统的问题。我认为编译器厂商只是谨慎地等待所有这些问题的解决。 – metalfox

回答

6

它不是在C++标准,必须究竟是如何调用你的编译器中指定。我想这是最多的实现来决定的,所以有可能仍然是一个需要-lstdc++fs

需要注意的是C++ 17还没有一个正式的标准,并且实现可能会或可能还没有付诸实施。即使C++ 17最终成为标准,这也不会奇迹般地改变实现。它甚至没有定义实现应该或不应该要求的链接器标志。这完全不相关。

你怎么可以包括C++ 17后正式接受的版本成为一个标准,您的实现开始支持它,完全是实现特定的。我们可能只需等待,看看如何解决。

相关问题