[objective-c]编译出错 -- NS_REQUIRES_NIL_TERMINATION Error

来源:互联网 发布:天津大悦城it电话 编辑:程序博客网 时间:2024/06/02 03:41

Version 6.4 sdk为8.4版本

在5s以上版本编译正常运行,5s一下版本就出错,错误如下:

Stack dump:0./Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIFilter.h:221:39: current parser token 'NS_REQUIRES_NIL_TERMINATION'clang: error: unable to execute command: Segmentation fault: 11clang: error: clang frontend command failed due to signal (use -v to see invocation)Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)Target: i386-apple-darwin14.4.0Thread model: posixclang: note: diagnostic msg: PLEASE submit a bug report to http://developer.apple.com/bugreporter/ and include the crash backtrace, preprocessed source, and associated run script.clang: error: unable to execute command: Segmentation fault: 11clang: note: diagnostic msg: Error generating preprocessed source(s).


网上的方法,不可行:

尝试了网上的,都不行,错误依旧。

<del>Valid Architectures  他的值本来是 armv7 armv7s ,把armv7s 去掉即可PROJECT --> Build Settings --> Architectures -->Build Active Architecture Only的值改变NoTARGETS --> Build Settings --> Architectures -->Build Active Architecture Only的值改变No</del>


解决方法:(大家不妨试试下面,都是坑)

1.在自己项目的中的“Target”的lib库,发现Target 和 Projet的Deployment 的iOS版本不一致,修改一致了,发现错误没了。
TARGETS --> Build Settings --> Deployment -->iOS Deployment Target 的版本调低至 iOS 6.0


2.发现在ios的5s以下模拟器里有时仍然出现了此错误,真机并无此错误(原因待查)


3.在oc里用了c++11,项目属性-》Building Settings -》Apple LLVM 6.1 - Language - 》 C Language Dialect 改成 c11,ok

0 0
原创粉丝点击