Как использовать libstdc вместо libc (macOS 12.0)

#node.js #macos #npm #libstdc #libc

#node.js #macos #npm #libstdc #libc

Вопрос:

Мне нужно установить nodejs 8.17 для моего рабочего проекта (macOS 12.0). Я решил использовать NVM (потому что я хочу переключаться между версиями npm), и я получил следующее сообщение:

лязг: предупреждение: не найден путь к заголовкам libstdc ; передайте ‘-stdlib=libc ‘ в командной строке, чтобы использовать стандартную библиотеку libc вместо [-Wstdlibcxx-not-found]

Насколько я понимаю, мне нужно установить или установить настройки для libstdc . Я пытался использовать xcode-select --install , но у меня получилось xcode-select: error: command line tools are already installed, use "Software Update" to install updates .

Комментарии:

1. Вам нужно будет установить libstdc самостоятельно; Apple не поставляет (и не поддерживает) его в Mac OS.

2. @MarshallClow насколько я понял, Mac OS имеет libstdc для старых версий (он был включен в Xcode).

3. Да, но, конечно, не для Mac OS 12. Попробуйте Mac OS X 10.7 или около того. В «современных» установках Mac OS нет libstdc dylib.

4. У меня нет другого macbook: D, я не могу сменить mac OS

Ответ №1:

libstdc предназначен и оптимизирован для GCC / G , а не для AppleClang. Были версии, которые работали с llvm-clang, поэтому, теоретически, его можно было бы заставить работать с Apple. cf. https://gcc.gnu.org/onlinedocs/libstdc /faq.html