Я столкнулся с проблемой при компиляции моих сборок Release для архитектур armv7.Это из-за того, что я использую C ++ 17 с iOS 10. Сама ошибка выглядит так:
cpprest/include/pplx/pplxtasks.h:586:63: error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on iOS 11 or newer [-Waligned-allocation-unavailable]
_TaskCollection_t::_RunTask(&_TaskProcThunk::_Bridge, new _TaskProcThunk(_Func), _InliningMode);
Я наткнулся на это сообщение
https://forum.juce.com/t/error-building-ios-for-device-in-release-mode/28595/8
Гдепредлагается использовать -fno-aligned-allocation
для более старого оборудования.
Я установил это глобально, и оно действительно работает во время компиляции.
Я пытался установить флаг компилятора на основе архитектуры.Раньше это было возможно.Похоже, вы можете установить версию SDK (ограниченную), но не архитектуру.
Возможно ли это сделать больше?Или, альтернативно, есть ли способ, которым я могу сделать какую-то форму pragma
или аналогичную и поместить некоторые директивы компилятора, чтобы установить это в заголовочных файлах?Я знаю, что это звучит немного грубо, но в идеале я хочу сохранить iOS 10 в качестве цели развертывания.