私はファイルシステムライブラリの問題に直面しています、それはc ++ 17コンパイラに含まれているはずです。2日後にRccberry Piにgcc-7.0.2をインストールしようとしましたが、機能しませんでした。コマンドを認識できませんでした。 gcc-7またはg ++-7または-std=c++17
なので、とにかくapt-get install
を使用してg ++-6とgcc-6をインストールする必要がありました。6バージョンをインストールした後、コンパイラにはc ++ 17が含まれています。 IDEとしてコードブロックを使用しています。新しいコンパイラを追加し、それを有効にするためにオプション-std = c ++ 17を追加する必要がありましたが、メインコードにファイルシステムライブラリを含めると、そのようなファイルやディレクトリは表示されません。
私の質問は、c ++ 17コンパイラとそのライブラリ(ファイルシステムなど)を正しく追加するにはどうすればよいですか?
GCC v7
は <filesystem> を実装していませんが、 <experimental/filesystem)にあるFilesystem Technical Specificationを実装しています>
#include <experimental/filesystem>
// for brevity
namespace fs = std::experimental::filesystem;
int main()
{
fs::path p = "/path/to/my/file"; // etc...
}
これはGCC v6
でも利用できます。
ライブラリとリンクするには、コマンドラインに-lstdc++fs
を追加する必要があります。
注:現在の技術仕様と-の最終ドラフトの間には、若干の違いがあるかもしれません <filesystem> 標準委員会によって決定されます。
注2:GCC v8
が-std=c++17
フラグを使用して <filesystem> を実装するようになりました。