在Xcode 10中为armv7编译定义特定的编译器标志

时间:2018-12-18 17:10:47

标签: ios xcode clang

在为armv7架构编译我的Release版本时遇到了一个问题。这是由于我在iOS 10上使用C ++ 17。错误本身看起来像:

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作为部署目标。

enter image description here

0 个答案:

没有答案