2017-02-09 331 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後正式接受的版本成爲一個標準,您的實現開始支持它,完全是實現特定的。我們可能只需等待,看看如何解決。

相關問題