Clang (LLVM) компилируется с фреймворками

Я использую:

clang -ObjC -framework UIKit -o /var/compiled/c /Documents/Source/main.m

В терминале OS X. Я также пробовал UIKit.framework, но получаю

Неустранимая ошибка: «UIKit/UIKit.h» не найден

с обоими.

Какие-либо предложения?

Спасибо


person user1710004    schedule 05.05.2013    source источник
comment
Можете быть более конкретными.   -  person icodebuster    schedule 05.05.2013
comment
Как вы получили эту ошибку.   -  person icodebuster    schedule 05.05.2013
comment
При использовании 'clang -ObjC -framework UIKit -o /var/compiled/c /Documents/Source/main.m' в терминале OS X   -  person user1710004    schedule 05.05.2013


Ответы (2)


Компилировать для iOS без использования Xcode непросто. В вашем случае вы пытаетесь использовать платформу iOS, но не используете ни компилятор цепочки инструментов iOS, ни SDK iOS.

Если вы посмотрите расшифровку компиляции для проекта Xcode, вы увидите некоторые необходимые флаги. Вещи, которые вам понадобятся, включают:

  • xcrun -sdk iphoneos clang выбрать правильный компилятор и SDK
  • -arch armv7s чтобы выбрать правильную архитектуру процессора
  • -mios-version-min=6.1, чтобы установить минимальную цель развертывания

Некоторые старые версии Xcode также требуют, чтобы -isysroot=/path/to/iPhoneOS6.1.sdk выбрал правильный SDK, потому что xcrun не делал этого автоматически.

person Greg Parker    schedule 06.05.2013

На этот вопрос уже был дан ответ на форуме разработчиков Apple, полное обсуждение можно найти здесь. . В ответе, отмеченном как решение вопроса, говорится:

1 - сначала проверьте свою переменную PATH:

$ echo $PATH

2 - предполагая, что /System/Library/Frameworks не включен в PATH, добавьте его:

$ PATH=$PATH:/System/Library/Frameworks

3 - теперь мы готовы к заклинанию господина Кочуна:

$ clang -fobjc-arc -framework Foundation main.m prog1
person tkanzakic    schedule 05.05.2013
comment
Я тоже это нашел, но мне не помогло. Что мне делать после указания «ПУТИ»? 'clang -fobjc-arc -framework Foundation -framework UIKit ...' Выдает ту же ошибку. - person user1710004; 05.05.2013
comment
Вы пытались сделать export $PATH после установки нового значения? - person tkanzakic; 05.05.2013
comment
более того, в новой версии Mac OS правильный путь /Library/Frameworks - person tkanzakic; 05.05.2013
comment
Я установил его в /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/ - person tkanzakic; 05.05.2013
comment
Для меня это /System/Library/Frameworks также пробовал «экспортировать $ PATH». Не работает для меня. - person user1710004; 05.05.2013
comment
Итак, я сейчас пытаюсь «clang -fobjc-arc -framework UIKit -o o main.m», все еще получая ту же ошибку. Также пробовал с Foundation и UIKit. - person user1710004; 05.05.2013
comment
-iframework‹arg› - Добавить каталог в путь поиска фреймворка SYSTEM - person Alex Koz.; 04.03.2017