У меня есть проект iOS, который отлично подходит для симуляторов, но который имеет ошибки компилятора при построении для общего устройства или когда я пытаюсь запустить реальное устройство через Xcode. ПРИМЕЧАНИЕ: фактические ошибки компилятора, а не ошибки компоновщика или развертывания. Ошибки связаны с несогласованными типами в typedefs - как если бы они включали заголовки из другого SDK или имели разные препроцессоры.Какие настройки компилятора меняются при изменении целевого устройства?
Мой вопрос: какие настройки компилятора меняются при изменении целевого устройства в пользовательском интерфейсе Xcode и где я могу просмотреть различия? Я не вижу различий при просмотре настроек проекта и изменении целевого устройства - в частности, целевая версия развертывания и версия SDK остаются неизменными.
Проект, используемый для сборки с любым из этих целевых устройств под Xcode 7, но не под Xcode 8. Я подозреваю, что это до версии SDK, которая поставляется с Xcode. Но для того, чтобы работать с некоторыми целевыми устройствами, а не с другими, он должен менять параметры компилятора. Это должно быть очень просто исправить, если бы я мог видеть, какие изменения он делает!
Вот линия (в моем коде), который не может скомпилировать:
typedef void* IOSurfaceRef;
А вот сообщение об ошибке:
error: typedef redefinition with different types ('void *' vs 'struct __IOSurface *')
Пожалуйста, обратите внимание, я не хочу помочь фиксируя ошибку или совет о том, что он пытается сделать - Я знаю, что это не хорошо. Я просто хотел бы узнать, какие настройки компилятора изменены путем переключения целевого устройства.
Обновите свой вопрос с помощью фактического действительного кода, связанного с ошибкой, и публикуйте полные, точные, фактические ошибки. – rmaddy
Спасибо, это разумный запрос. Тем не менее, я не хочу помогать исправлять ошибки - я спрашиваю, какие настройки компилятора изменены, изменяя целевое устройство и опасаясь, что код будет сбрасываться на вопросы о том, почему код делает $ HIGHLY_QUESTIONABLETHTH ... –
Это ваш typedef или это в коде Apple/3rd Party? – dan