endian.h не найден на mac osx

18

Я встречаюсь с некоторыми проблемами, когда компилирую код C на моем mac, который дает мне эту ошибку:

фатальная ошибка: 'endian.h'       файл не найден

Я сделал несколько поисков по этой проблеме. Кажется, что у mac os x нет заголовочных файлов, таких как «endian.h», мы должны создать этот файл вручную.

Затем я нашел эту ссылку , которая может быть файлом, которым я являюсь ищет, но не уверен.

Но впереди больше неприятностей. Где я должен поместить этот файл?

Файл / usr / include не существует.

Это папки в каталоге / usr:

X11 bin libexec share X11R6 lib sbin автономный

Может ли кто-нибудь помочь мне проверить правильность файла endian.h, который я нашел, и сказать мне, где разместить этот файл в моем mac, пожалуйста?

    
задан geasssos 28.12.2013 в 10:37
источник

3 ответа

12

Xcode в OS X не устанавливает инструменты командной строки по умолчанию. В зависимости от вашего Xcode и OS X вы должны

  • установите инструменты командной строки из окна Xcode Preferences- & gt; Downloads или
  • выполнить xcode-select --install из командной строки терминала.

Это также установит файлы «/ usr / include», включая «/usr/include/machine/endian.h».

    
ответ дан Martin R 28.12.2013 в 10:46
  • Да, это работает. Я нашел файл endian.h в include / machine, но по-прежнему не могу правильно скомпилировать код, такую ​​же ошибку. Должен ли я копировать и вставлять endian.h в / usr / include? –  geasssos 28.12.2013 в 11:27
  • @geasssos: Нет, это было бы только в последнем случае, если бы ничего больше не работало. - У вашего проекта есть сценарий «configure»? Возможно, это неправильно обрабатывает платформу OS X. - Обратите внимание также, что «sys / types.h» уже включает в себя «machine / endian.h», поэтому, возможно, вам не нужно включать его явно. –  Martin R 28.12.2013 в 11:34
  • Должен ли я использовать #include <machine / endian.h> вместо #include <endian.h>? –  geasssos 28.12.2013 в 12:11
  • @geasssos: Вместо этого я бы включил sys / types.h, но почему бы вам просто не попробовать? –  Martin R 28.12.2013 в 16:46
  • Нет, sys / tyeps.h не работает, но когда я пытаюсь включить <machine / endian.h> возникает другая ошибка, но ничего о endian.h, похоже, эта часть ошибки была решена. –  geasssos 28.12.2013 в 21:00
Показать остальные комментарии
3

Я использовал <machine/endian.h> вместо <endian.h> .

Он работает.

Как сказано в первом комментарии, endian.h находится в папке /usr/include/machine/ .

    
ответ дан Husen 29.09.2017 в 08:21
2

Фактически, вы должны импортировать «Endian.h» проверьте свой дисковый менеджер, возможно, ваш диск чувствителен к регистру.

    
ответ дан alex yuan 25.11.2014 в 15:33
  • Я ошибся в переформатировании своего диска с учетом чувствительного к регистру мышления, это было бы отличной идеей много лет назад, и оно все еще ползет и ломает все это время. Вот почему вы правильно используете свои пути к файлам независимо от того, –  Sirens 21.12.2016 в 21:13