Мне нужно написать программу, используя (экспериментальную) библиотеку C++17
файловой системы, но clang
на моем Mac (macOS 10.12.03), похоже, не содержит заголовок файловой системы.
Поскольку я должен использовать C++17
, я не могу использовать альтернативы, такие как библиотека Boost
.
Когда я пытаюсь скомпилировать примерную программу, которая включает файловую систему и iostream
(и записывается на cout
)
#include <filesystem>
#include <iostream>
using namespace std;
int main(){
cout << "test" << endl;
}
Появляется следующее сообщение об ошибке:
>clang test.cpp -std=c++1z
test.cpp:2:10: fatal error: 'filesystem' file not found
#include <filesystem>
^
1 error generated.
Когда я пытаюсь использовать GCC 6.3 (устанавливается через homebrew), я получаю:
>gcc-6 test.cpp -std=c++17
test.cpp:2:22: fatal error: filesystem: No such file or directory
#include <filesystem>
^
compilation terminated.
Я также попытался использовать экспериментальную/файловую систему, которая компилируется с помощью gcc
, но, похоже, пытается скомпилировать для iOS, приводя к другой ошибке, которая, как представляется, связана с iostream
Undefined symbols for architecture x86_64:
"std::ios_base::Init::Init()", referenced from:
__static_initialization_and_destruction_0(int, int) in ccd5QiVt.o
"std::ios_base::Init::~Init()", referenced from:
__static_initialization_and_destruction_0(int, int) in ccd5QiVt.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
Версия моего clang:
>clang --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Я благодарен за какой-либо полезный вклад, так как я не мог найти ничего, что разрешило мою проблему до сих пор (хотя я, возможно, искал неправильные термины).
Если вам нужна дополнительная информация, я с радостью предоставил ее, но я надеюсь, что все это включило.