#xcode #c 11 #frameworks
#xcode #c 11 #фреймворки
Вопрос:
Мы используем XCode с Objective-C для разработки нашего приложения с 2012 года.
Мы обновили фреймворк FBSDKShareKit, и теперь мы получаем следующую ошибку:
"Photos requires C 11 or later"
Ошибка появляется в PHImageManager.h, который является частью платформы Photos. Похоже, что новый Facebook SDK использует эту платформу.
Решение, которое я нашел для этой конкретной проблемы, заключается в изменении настройки диалекта языка C на GNU 11. Но как только мы изменим его, мы получим множество ошибок, подобных следующим:
- между » знаками» и именами переменных требуются пробелы.
- переменные простых типов (bool, int, float и т.д.) Не могут быть установлены в ноль.
- значения с плавающей точкой не могут быть неявно установлены в двойные значения.
- перечисления не могут быть установлены в numbers (требуется приведение).
Нам пришлось бы реорганизовать наш код в 1000 местах в 100 разных файлах, чтобы избавиться от всех этих ошибок.
Есть ли способ обойти эту проблему, либо не обновляя настройку диалекта языка C , либо игнорируя определенные типы ошибок?
Комментарии:
1. У меня такая же проблема, как и у вас. Вы когда-нибудь это понимали?
2. @NoahP К сожалению, нет. К счастью, рефакторинг прошел не так плохо, как я думал. Мне нужно было выполнить менее 100 незначительных исправлений, и впоследствии он успешно скомпилировался.