Мне не повезло последние несколько дней с момента выхода Xcode 5.1.
Я продолжаю получать эту ошибку в старом проекте, поддерживающем iOS 6.0:
ERROR:
clang: error: unknown argument: '-fno-obj-arc' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1
В интернете мало сообщений об этом, и некоторые предложения, похоже, состоят в изменении вашего CFLAGS
, но я не знаю, как это сделать в Xcode.
Apple предлагает это из своих документов:
Компилятор
По версии компилятора Apple LLVM версии 5.1 (clang-502) и более поздних версий уровень оптимизации -O4 больше не подразумевает оптимизацию времени соединения (LTO). Чтобы строить с помощью LTO, явно используйте параметр -flto дополнительно на флаг уровня оптимизации. (15633276) Компилятор Apple LLVM в Xcode 5.1 рассматривает непризнанные параметры командной строки как ошибки. Эта проблема была обнаружена при создании как внутренних расширений Python, так и Ruby Gems, где некоторые недопустимые параметры компилятора в настоящее время указано. Проекты, использующие недопустимые параметры компилятора, должны быть для удаления этих параметров. Чтобы облегчить этот переход, компилятор временно примет возможность понизить ошибку до предупреждение:
-Wno-error=unused-command-line-argument-hard-error-in-future
Примечание. Этот вариант не будет поддерживаться в будущем. К обходу эта проблема, установите переменную среды ARCHFLAGS для понижения ошибка к предупреждению. Например, вы можете установить родной Python расширение с помощью
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install ExtensionName
Аналогичным образом вы можете установить Ruby Gem с помощью:
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName 16214764 updated
Как мне получить это обходное решение? Очевидно, Apple испортилась, потому что она должна представлять только предупреждение, а не ошибку в соответствии с их документами.
Любая помощь будет принята с благодарностью. Я не могу создать свое приложение, пока эта проблема не будет исправлена.