gpt4 book ai didi

objective-c - 静态库 (ARC) 在非 ARC 应用程序上工作,遇到错误 : dyld: lazy symbol binding failed: Symbol not found: _objc_retainAutoreleasedReturnValue

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:50:51 25 4
gpt4 key购买 nike

Xcode 4.3.2我使用 ARC 编写了一个静态库。

当我把它放到一个项目中,并在 iOS 4.3 模拟器上测试时。 (基于iOS 5.1,部署target 4.3)

如果项目使用 ARC,它工作正常。

如果项目没有使用ARC,遇到错误,例如:

dyld: lazy symbol binding failed: Symbol not found: _objc_retainAutoreleasedReturnValue Referenced from: /Users/cnzzmobile/Library/Application Support/iPhone Simulator/4.3.2/Applications/A4EEB0A0-AC16-402C-B426-46667225F66D/test.app/test Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation

dyld: Symbol not found: _objc_retainAutoreleasedReturnValue Referenced from: /Users/cnzzmobile/Library/Application Support/iPhone Simulator/4.3.2/Applications/A4EEB0A0-AC16-402C-B426-46667225F66D/test.app/test Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation

我搜索了很多,但找不到可以解决这个问题的答案。

我删除了仅 iOS5 支持的 jsonobjcet,-fobjc-arc 也不起作用。

谢谢

最佳答案

我发现在“其他链接器标志”处添加“-fobjc-arc”可以解决基于 iOS 5.1 的 Xcode 4.3.2 上的这个问题。因为 xcode 找不到支持 ARC 链接的库。

请注意:在“其他链接器标志”而不是“编译源”处添加“-fobjc-arc”。

但这仍然不适用于基于 iOS 4.3 的旧版本 Xcode 4(snow leopard)。

我发现一些库无需添加任何特殊设置即可在 ARC 和非 ARC 项目上工作。我还在等待如何做到这一点的答案。使用纯 C 编写代码?

关于objective-c - 静态库 (ARC) 在非 ARC 应用程序上工作,遇到错误 : dyld: lazy symbol binding failed: Symbol not found: _objc_retainAutoreleasedReturnValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11046459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com