Это то, что у меня сработало.
Это мои заголовочные файлы (Catalina 10.15):
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
Запустите sudo find /Library -name stdio.h
, чтобы увидеть, где находится ваш.
Заголовочные файлы Mojave 10.14:
$ sudo find /Library -name stdio.h
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
Как видно, SDK теперь разделены на MACOSX10.14 и 10.15 в отличие от Mojave.
TLDR
Итак, это были мои папки SDK на Каталине:
">
- Переименование
MacOSX.sdk
в MacOSX_orig.sdk
- Щелкните правой кнопкой мыши
MacOSX10.14.sdk
- Duplicate
- Переименуйте дубликат папки в
MacOSX.sdk
Ваша структура папок теперь должна выглядеть следующим образом:
">
Таким образом, мы в основном используем OSX SDK предыдущей версии в качестве sysroot. Надеюсь, это поможет.