好像是过了好久好久,我终于又拾起了老本行: Xcode
在我的老项目中加了两个文件,报错:
Clang LLVM 1.0 Error error: -fobjc-arc is not supported with fragile abi
百度之,无;Google之,得到Stack Overflow解答:
http://stackoverflow.com/questions/7919227/arc-error-fobjc-arc-is-not-supported-with-fragile-abi
ARC is only available to 64-bit applications in OS X. Therefore, you must set your application's architecture to "64-bit Intel" in the build settings. If you want to support 32-bit OS X systems then you cannot use ARC.
"Fragile ABI" refers to the old "Legacy" Objective-C runtime, which is what 32-bit OS X applications use. iOS and 64-bit OS X apps use the "Modern" Objective-C runtime.
因为这个程序有个地方用到了第三方库,dlopen 返回错误说明说architecture不对,Build Setting中的Architecture改为了32-bit, 所以不支持Arc,得关闭ARC功能
方法一:
在Build Settings 中找到Objective-C++ Automatic Reference Counting 设置NO
方法二:
Build Phases里面,CompileSources 每个文件都打一个flag: -fno-objc-arc