Мне нужно использовать заголовок файловой системы C ++ 17 для моего проекта.Насколько я знаю, Apple наконец-то сделала его доступным с Xcode 11 и macOS Catalina.Я использую последнюю (бета-версию 3) Xcode 11 и использую публичную бета-версию macOS Catalina, так что теоретически это должно работать.Но по какой-то причине это не так, и XCode выдает ошибки типа:
'~path' is unavailable: introduced in macOS 10.15
Если я установил стандартную библиотеку C ++ в настройке сборки на libstdc ++ из libc ++, эти сообщения об ошибках исчезли, и я получил предупреждение:
include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead
и куча ошибок с отсутствующими iostream и cstddef в разных файлах.Что я могу сделать, чтобы заставить файловую систему работать?
Редактировать: пример минимального кода
#include <filesystem>
#include <iostream>
#include <string>
bool isPathDir(std::string pathString);
int main(int argc, char *argv[])
{
std::string pathString = "../test.jpg";
if (isPathDir(pathString)) {
std::cout << "This is a directory!" << std::endl;
} else {
std::cout << "This is not a directory" << std::endl;
}
}
bool isPathDir(std::string pathString)
{
std::filesystem::path path(pathString);
return std::filesystem::is_directory(path);
}