前提・実現したいこと
C++で<filesystem>を使用したいのですが、include後、コンパイルしようとすると
test.cpp:6:10: error: 'std::filesystem' has not been declared
と警告がでてコンパイルできません。
ネット上にある記事は一通り試しましたがうまくいきませんでした。よろしくお願いします。
発生している問題・エラーメッセージ
.cpp -o test } ; if ($?) { .\test } test.cpp: In function 'int main()': test.cpp:6:10: error: 'std::filesystem' has not been declared 6 | std::filesystem::path temp; |
該当のソースコード
c++
1#include <filesystem> 2 3int main() 4{ 5 std::filesystem::path temp; 6 return 0; 7}
試したこと
コンパイルオプションに
「--std=c++17 -lstdc++fs」
を入れた状態でコンパイルを行おうとすると
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lstdc++fs
collect2.exe: error: ld returned 1 exit status
の、エラーが出てきてしまいます。
C++20にしてみたり、intelliSenseモードをmsvc-x64,gcc-x64,clang-x64にしてもできませんでした。
同様の記事があったので、ここに書いてあることは試しましたが解決できませんでした。
https://github.com/mxe/mxe/issues/2220
補足情報(FW/ツールのバージョンなど)
使用しているエディタは、Visual Studio Codeを使用しています。
<filesystem>は、C++17から標準ライブラリとして導入されたとの記載があったので、コンパイルする際のバージョンをC++17にしています。
また、gccのバージョンは9.2.0です。
OSは WindowsでSDKversionは10.0.18362.0です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/01 13:08
2020/07/01 13:20 編集
2020/07/01 13:41 編集