LLVM 2.0 не может быть построен для симулятора iPhone.GCC 4.2 работает отлично - PullRequest
6 голосов
/ 03 сентября 2010

Когда я строю свой проект (на самом деле любой проект - я пытался создать новый пустой проект с теми же результатами), он прекрасно работает с GCC 4.2 под Xcode4 или Xcode 3.2.4.

Если я строю с использованием LLVM 2.0 под Xcode4 или с LLVM 1.5 под Xcode3, я получаю сбои сборки во время компиляции, но только при сборке для симулятора.

Все ошибки сборки, которые я получаю под LLVM, находятся в заголовках, над которыми у меня нет контроля, таких как UIView.h, UIDevice.h, UIApplication.h, UITextView.h и UIWebView.h в UIKit и CGPDFContext.h в CoreGraphics.

Вот пример ошибки в WebView.h:

@property(nonatomic) UIDataDetectorTypes dataDetectorTypes __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_0);   //<--- Unknown type 'UIDataDetectorTypes'

когда UIDataDetectorTypes действительно объявлен в UIDataDetectors.h, который включен в этот файл.

нюхать

Ответы [ 4 ]

7 голосов
/ 03 сентября 2010

Может быть ошибка в Xcode 3.2.4 или конфигурации SDK.

Попробуйте разместить строку, подобную одной из них, в макросах препроцессора параметров сборки:

-D__IPHONE_OS_VERSION_MIN_REQUIRED=040100 

или

-D__IPHONE_OS_VERSION_MIN_REQUIRED=030103
0 голосов
/ 28 ноября 2010

Сохраняется ли эта проблема с XCode 3.2.5?

Просто любопытно, поскольку я еще не загрузил ее.

0 голосов
/ 03 сентября 2010

Не нарушая NDA (Xcode 4 является предварительной версией программного обеспечения), я рекомендую прочитать эту ветку на форумах разработчиков Apple.

0 голосов
/ 03 сентября 2010

Это звучит так, будто ваша установка не работает.

Когда вы установили Xcode4, вы обязательно установили его в совершенно отдельный каталог с вашей существующей установкой Xcode?

Это также можетиметь какое-то отношение к вашим путям включения или что-то в этом роде.Я не слишком уверен, как это исправить.

Я бы предложил создать резервную копию любых пользовательских шаблонов и т. Д. И запустить скрипт удаления для Xcode 3.x и 4, а затем переустановить, чтобы увидеть, если этоустраняет проблемы.

...