Здание С++ не работает в OSX 10.9
Обновление:
Я решил проблему в конце, переустановив инструменты командной строки, как показано в этой ссылке .
Извините за беспокойство!
Начальный вопрос
Я только что обновился до OSX Mavericks, и я больше не могу заставить компилятор работать.
Я использую gcc48 из macports с vim/sb2, и все работает отлично. Теперь любая библиотека, которую я включаю, дает массу ошибок. Я не очень опытный, и я не знаю, что делать, или что искать. Я просто хочу, чтобы он работал, как раньше. Вот что сказано при компиляции базовой программы "привет мир":
In file included from /opt/local/include/gcc48/c++/bits/postypes.h:40:0,
from /opt/local/include/gcc48/c++/iosfwd:40,
from /opt/local/include/gcc48/c++/ios:38,
from /opt/local/include/gcc48/c++/ostream:38,
from /opt/local/include/gcc48/c++/iostream:39,
from ceva.cpp:1:
/opt/local/include/gcc48/c++/cwchar:44:19: fatal error: wchar.h: No such file or directory
#include <wchar.h>
Если вам нужна какая-либо информация, скажите мне, и я предоставлю ее вам. Благодарим за терпение!
Ответы
Ответ 1
XCode 5/Mavericks изменили значения по умолчанию для размещения заголовков.
В предыдущих версиях Mac OS X/XCode вы бы нашли заголовки в /usr/include
.
Когда вы создали gcc в более ранней версии, он собрал заголовки из этого местоположения и ищет их там, когда вы пытаетесь создать код.
Проблема в том, что файлов нет; они находятся где-то под /Applications/Xcode.app/Contents/Developer
.
Вы можете работать с spec файлом, чтобы заставить его работать последовательно снова, но самое необходимое - перестроить gcc.
Как уже упоминалось, вы можете установить инструменты командной строки с помощью xcode-select --install
, который переустановит инструменты разработчика, включая заголовки в /usr/include
.
Я стараюсь переустанавливать такие вещи, как gcc, когда я обновляю свою операционную систему, когда сталкиваюсь с другими ошибками из-за изменений в среде. Это просто привычка, которую я сформировал. Это может быть не самая лучшая привычка, но она часто меня спасала от боли.
[добавлено 2017] В качестве дополнения, если вы установите command line tools
, то заголовки будут помещены также в /usr/include
. Команда для установки инструментов командной строки xcode-select --install
- это позволит вам использовать большинство компиляторов без указания местоположения заголовков вручную.
Ответ 2
Вот как я работал над Mac osx Mavericks:
-
Открыть терминал
-
type → xcode-select --install
-
Появятся всплывающие окна с вопросом о средствах установки
-
выберите инструменты установки
-
ждать завершения установки
Ответ 3
Вот ручной метод обновления XCode на OS X Mavericks:
Ответ 4
Я использую MacOS Sierra 10.12.4, получил ту же проблему.
Я решил это, используя:
/usr/bin/gcc