Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 4.3上的libobjc.A.dylib编译错误_Ios_Xcode - Fatal编程技术网

iOS 4.3上的libobjc.A.dylib编译错误

iOS 4.3上的libobjc.A.dylib编译错误,ios,xcode,Ios,Xcode,我在iOS Simulator 4.3中遇到了一个编译错误,我无法真正理解它,我得到的错误是: dyld: lazy symbol binding failed: Symbol not found: _objc_retain Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppNam

我在iOS Simulator 4.3中遇到了一个编译错误,我无法真正理解它,我得到的错误是:

dyld: lazy symbol binding failed: Symbol not found: _objc_retain
  Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_retain
  Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib
注:
被引用的库(libobjc.A.dylib)实际上位于“预期位置”
代码在iOS5设备和iOS5模拟器上运行良好。

添加
-fobjc arc
内部版本设置=>其他链接器标志(其他\u LDFLAGS)用于不同的配置

如果使用使用ARC的库并希望 在较旧的iOS 4设备上构建/运行

内置设置=>其他链接器标志

  • 添加
    -fobjc arc
  • 如果尚未解决,则添加
    -weak_library/usr/lib/libobjc.A.dylib

您是否在本项目中使用ARC?你的问题可能是一个不使用ARC的问题,这个项目太复杂了,无法打开它。这个符号不在4.3库中,我想知道是谁要求这个。转到dirs和do
nm libobjc.A.dylib | grep retain
,使用4.3您将只看到一个符号_SEL_retain。尝试清理项目并重建?升级到XCode 5.4和IOS 6.0后,我遇到了完全相同的问题。被接受的答案对我不适用。有人有其他想法吗?这股力量不是为整个项目启用了arc吗?不启用arc不是很重要吗?不,它不会强制整个项目使用它。您将它用作链接器标志,而不是编译器标志,因此它不会在编译时影响arc,只会在链接时影响arc。这很有效,但如果项目只有少数需要此标志的文件,并且当我们可以分别为每个文件添加标志时,为什么我们需要在项目级别上添加这个?