Я пытался добавить новую библиотеку / заголовок и, похоже, сломал gcc. В частности, я использовал команду:

$ sudo cp mylib.h /usr/local/include

Кажется, это заменило каталог /usr / файлом, потому что я получаю следующую ошибку при попытке скомпилировать тривиальные программы

cc1: error: /usr/local/include: not a directory

Я не могу найти файл или каталог, но опять же я не знаю, где искать. Есть ли способ воссоздать каталог /usr /local /include? Могу ли я просто переустановить gcc?

PS Я знаю, что использование sudo было глупой ошибкой. Я был безрассудно следовал некоторым инструкциям, которые нашел в Интернете.

Любой совет относительно того, где я должен смотреть, был бы очень признателен.

[править] Я использую Mac OSX 10.6.

3 ответа3

3

Похоже, для начала у вас не было /usr/local/include ; так что команда создаст его как файл, который вы хотите скопировать. Чтобы это исправить:

sudo mv /usr/local/include /usr/local/mylib.h
sudo mkdir /usr/local/include
sudo mv /usr/local/mylib.h /usr/local/include

(Я настоятельно рекомендую вам сначала проверить это, как и в первый раз.

file /usr/local/include    # should say "C program text" or similar
less /usr/local/include    # should be your mylib.h

)

0

Если /usr /local /include ранее существовал, простая переустановка gcc не будет полным решением.

Если вы установили какие-либо другие библиотеки * -devel, вам также придется их переустановить.

0

В Терминале введите команду «по умолчанию напишите com.apple.finder AppleShowAllFiles TRUE», затем введите "killall Finder". Теперь вы сможете увидеть каталог usr в корневом каталоге вашего загрузочного диска. Если вы заменили каталог usr файлом, вам, вероятно, следует поискать его копию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .