Откуда /usr/include/mach-o/loader.h?

Кажется, что некоторые из моих систем Mac OS X имеют /usr/include/mach-o/loader.h, а другие нет. Я запутался, потому что этот файл задокументирован здесь:

https://developer.apple.com/library/mac/#documentation/developertools/conceptual/MachORuntime/Reference/reference.html

Например:

...Declared in /usr/include/mach-o/loader.h. See also mach_header_64.

Кто-нибудь знает, был ли этот файл удален в более новых версиях Mac OS X? Или если мне нужно установить специальный SDK, чтобы получить его?

2 ответа

Решение

Он существует на моем Mac (OS X 10.7), но у меня действительно установлен Xcode, и он мог бы быть частью этого.

редактировать

Обратите внимание, что когда Xcode что-то компилирует, он не использует заголовки в /usr/include но те, которые вы выбрали в SDK, и вы можете узнать, где находятся системные заголовки, выполнив компиляцию, а затем проверив ключ командной строки -isysroot. Итак, я только что сделал компиляцию, и вызов компилятора включает в себя:

-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7sdk

Если вы откроете этот каталог, вы обнаружите, что он содержит usr/include/mach-o подкаталог с файлом, который вы хотите в нем.

loader.h - это скрытый файл на MAC, поэтому, если у вас нет скрытых файлов, которые можно просмотреть, откройте терминал, сначала выполните следующую команду:

defaults write com.apple.finder AppleShowAllFiles TRUE

тогда эта команда:

killall Finder

После этого следуйте по пути в искателе: /usr/include/mach-o/loader.h

Если у вас есть скрытые файлы, все, что я могу сказать, это то, что у меня есть ноутбук с OS X 10.7, 10.6 и 10.5, и у него есть его, и на нем установлен Xcode.

Другие вопросы по тегам