[绍棠] SYMBOL(S) NOT FOUND FOR ARCHITECTURE ARMV7

By | 03月07日
Advertisement

如果真机调试就是 undefined symbols for architecture armv7错误!

发生这种错误通常是project.pbxproj这个文件引起的,尤其在多人合作开发的时候,svn提交不规范可能导致project.pbxproj发生错误,导致文件的引用不在project.pbxproj文件中。

xcode项目import文件会根据project.pbxproj来查找,查找不到文件的引用则会有上述的错误。

解决方法点击工程,在主界面中点击Build Phases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,Complie Sources下没有XXX文件,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。

又或者是:

一般真机调试时,如果报armv7错误,一般都是因为armv7指令集是打开的,而之前一些引用库都是使用armv7之前的指令集编译的(当这些引用的外部库使用armv7指令集编译后,就不会出现该问题)

解决办法:

1. 去掉armv7指令集支持: xcode –> Build Settings –>valid Architectures  去掉armv7

2. 兼容armv7 : project –> Build Settings,把Build Active Architectures Only 的值设置为YES

Similar Posts:

  • xcode5.1,ios7.1,AVOS2.4.1真机报错symbol(s) not found for architecture armv7

    xcode5.1更新之前就出现过类似错误,通过改architecture能搞定,xcode5.1和ios7.1更新之后,64位ipad模拟器调试无误,真机报错.如图,求助拜谢 --cut-- jaskk在2014-04-02 08:45:44回答到: 找到问题了...添加完corelocation框架就好了,囧新版要多添加corelocation debugger87在2014-04-02 17:03:02回答到: Undefined symbols for architecture armv7

  • [绍棠] [iOS 10 打包静态库支持armv7] 静态库打包 .a armv7

    于是就打包了 结果由于长时间没去打包静态库 忘记了一个步骤   结果导致Xcode link不到这个库 Xcode => product => Scheme => Edit Scheme 1 1 然后  如图 改成 release 终端查看 localhost:~ Lff$ lipo -info /Users/Lff/Library/Developer/Xcode/DerivedData/LFFJFCompenyInfo-ejmcukbrccvqsgbdqrbghcxajfgb/Buil

  • Undefined symbols for architecture armv7解决方案

    http://stackoverflow.com/questions/6429494/undefined-symbols-for-architecture-armv7 点击打开链接 Undefined symbols for architecture armv7: "_deflateEnd", referenced from: -[ASIDataCompressor closeStream] in ASIDataCompressor.o "_OBJC_CLASS_$_ASID

  • Nginx 安装 (mac os) 错误 ld: symbol(s) not found for architecture x86_64

    今天在mac os 上编译安装Nginx时候,报错:ld: symbol(s) not found for architecture x86_64, 经过一番折腾之后发现,由于Nginx依赖openssl库,查看openssl的./config 文件发现,这个问题应该是 openssl/config脚本猜对你的系统是64位,但是 会根据$KERNEL_BITS来判断是否开启x86_64编译,默认不开启,他会给你5秒时间确认是否停止编译,手动设置x86_64编译,所以默认你生成的openssl库文

  • symbol(s) not found for architecture i386 一般解决方法

    iOS 编译时有时候会出现编译不过的情况 错误描述大致为:symbol(s) not found for architecture i386 一般情况下是由于库文件引用出的问题,检查你需要使用的库,是否已经添加到工程里. xcode4.0以上添加方法:选择工程的 TARGETS--->Build Phases--->Link Binary With Libraries 点击"+"图标添加对应的库. 混编时也有可能会出现,具体没有碰到,请参看下面博客. 以下转载 ------

  • duplicate symbol _OBJC_IVAR_$_CDataScanner.data ......... for architecture i38

    文件一直运行不了,还报错:duplicate symbol _OBJC_IVAR_$_CDataScanner.data ......... for architecture i386 如图: ld: duplicate symbol_OBJC_IVAR_$_CDataScanner.data in/Users/apple/Library/Developer/Xcode/DerivedData/ClothesTry-aikecqhjtelboafozutskstpysag/Build/Inter

  • mac下编译安装php7时报ld: symbol(s) not found for architecture x86_64的解决方法

    在Mac上编译PHP7时,如果使用OpenSSL扩展,会有一个错误 Undefined symbols for architecture x86_64:   "_PKCS5_PBKDF2_HMAC", referenced from:       _zif_openssl_pbkdf2 in openssl.o   "_SSL_CTX_set_alpn_protos", referenced from:       _php_openssl_setup_crypto

  • symbol(s) not found for architecture arm64解决办法

    遇到报错symbol(s) not found for architecture arm64时可以按以下内容逐一排除: 1.未导入框架 2.库路径 头文件路径不对  删除 3.Other Linker Flags 改为 -lz或-ObjC 4.找不到库  删除重新导入静态库 5.是否支持armv7 armv64 i386 6.导入静态库可能与原来库冲突 .pch文件 #ifdefine包裹所有头文件(忘了,不准确,具体解决方法百度)

  • iOS出现 Undefined symbols for architecture armv7 std::basic_string<char, std::c

    Undefined symbols for architecture i386: "_OBJC_CLASS_$_XXX", referenced from: objc-class-ref in XXX ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 如果真机调试就是 undefined

  • Undefined symbols for architecture armv7: "std::basic_string 类型错误

    导入一个静态库的时候,发现一系列错误 Undefined symbols for architecture armv7: "std::string::resize(unsigned long, char)", referenced from: 类似这样的 最后在网上找了好多文章 有这篇 http://stackoverflow.com/questions/12968369/undefined-symbols-for-architecture-armv7-when-using-zxing

Tags: