架构armv7的未定义符号

亚历克斯·特洛特

这个问题一直让我发疯,我无法解决该问题。

    Undefined symbols for architecture armv7:
  "_deflateEnd", referenced from:
      -[ASIDataCompressor closeStream] in ASIDataCompressor.o
  "_OBJC_CLASS_$_ASIDataDecompressor", referenced from:
      objc-class-ref in ASIHTTPRequest.o
  "_deflate", referenced from:
      -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
  "_deflateInit2_", referenced from:
      -[ASIDataCompressor setupStream] in ASIDataCompressor.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

我认为这与以下方面有关:

ld: symbol(s) not found for architecture armv7

但是我补充道:libz.1.2.3.dylib这没有帮助,任何人有任何想法吗?

常见原因

“体系结构armv7的未定义符号”的常见原因是:

  1. 导入标头,而不链接到正确的库这很常见,尤其是对于像QuartzCore这样的库的头文件,因为默认情况下它不包含在项目中。解决:

    • 在的Link Binary With Libraries部分添加正确的库Build Phases

    • 如果要添加默认的搜索路径的图书馆外,你可以包括在路径Library Search Paths中生成设置值,并添加
      -l{library_name_without_lib_and_suffix}(如,对于libz.a使用-lz)的Other Linker Flags部分Build Settings

  2. 将文件复制到项目中,但忘记了检查目标以将文件添加到中解决:

    • Build Phases为正确的目标打开,展开Compile Sources并添加丢失的.m文件。如果这是您的问题,请也支持下面的Cortex答案

  3. 包括一个静态库,该库是为其他体系结构(如i386)(主机上的模拟器)构建的解决:

    • 如果您有多个库供应商的库文件要包含在项目中,则需要包括一个用于模拟器(i386)和一个用于设备的库文件(例如armv7)。

    • (可选)您可以创建包含两个体系结构胖静态库



原始答案:

您尚未链接到正确的libz文件。如果右键单击该文件并在finder中显示,则其路径应位于iOS sdk文件夹中。例如这是我的

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib

我建议删除引用,然后在目标的“链接库的二进制文件”部分的“构建阶段”中将其重新添加回去。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Cocoapods库的架构armv7的未定义符号

架构Armv7 Swift的未定义符号

Google admob架构armv7的未定义符号

MobileAppTracker架构armv7的未定义符号:

SignalR-Objc-架构armv7的未定义符号

架构armv7的未定义符号:“ _ OBJC_CLASS _ $ _ FIRApp”

Apple Mach-O链接器错误。架构armv7的未定义符号

从 Unity3D 导入后,Xcode 中架构 armv7 的未定义符号

Mac o 链接器错误(id)架构 armv7 的未定义符号:

架构armv7的未定义符号:“ query_call_back(callback_func_type)”

架构armv7的未定义符号:“ _ OBJC_CLASS _ $ _ ALAssetsLibrary”,引用自:GooglePlus(NSData + GPPAdditions.o)

不允许使用swift类的Objective C头文件中定义的Constant。架构armv7的未定义符号

架构armv7的未定义符号:“ _ objc_readClassPair”,引用自:libarclite_iphoneos.a(arclite.o)中的__ARCLite__load()

架构armv7的未定义符号:“ _ OBJC_CLASS _ $ _ GGLContext”,引用自:AppDelegate.o中的objc-class-ref

使用objc_setAssociatedObject时,体系结构armv7的未定义符号

ZBar:体系结构armv7的未定义符号

架构armv7错误的重复符号

架构armv7的重复符号

设置-ObjC标志时,libGoogleAnalyticsServices.a中的体系结构armv7的未定义符号

Apple Mach-O链接器错误(20)-体系结构armv7的未定义符号

OpenTok(iOS)v2.4.0(64位)-体系结构armv7的未定义符号

使用Zxing GreyscaleLuminanceSource XCode 5的项目中体系结构armv7错误的未定义符号

Unity 4.6.6 Xcode'armv7 / arm64体系结构的未定义符号'链接器错误

切换到Xcode7时的链接器问题,体系结构armv7的未定义符号:_objc_readClassPair

在iOS 8中找不到架构Armv7的符号

ld:用于架构armv7 FireBase Google的4个重复符号

Xcode错误:使用Cometchat Cordova的架构armv7的9个重复符号

找不到架构 armv7 的符号(在 Xcode 和 Python3 中运行存档时)

创建OpenSSL Framework时某些架构的未定义符号