Undefined symbols for architecture armv7: ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Undefined symbols for architecture armv7:

ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

前段时间集成腾讯云直播被坑,下面写下遇到这种错误的比较全面的解决办法

1,遇到最多的就是这个,引入了需要用到的库的头文件,却没有链接正确的实现库,使用的时候需要另外引入头文件,那么就有可能把头文件放进来,没有放.a(文件目录查找红色文件,导入即可)

2.Build Settings或者Build Phases配置有误。检查Build Phases里的Link Binary With Libraries和Build Settings里的几项Search Path(这里要注意,如果Path 中有奇怪的路径,删除尝试下,我的项目中当时就因为加入这个路径  $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks ,然后一直编译不通过) 

3.从外部导入的文件没有加入到特定的target中,将.a、.m、.framework等引入到工程当中,却没有勾选当前Build的target,会出现这个问题,可以选中特定的文件,在右侧边栏中选中target(或者直接在 target->Build Phases ->Compile Sources   查找 添加)。

4.未包含处理器架构指令集的问题。报错时的提示一般都是“Undefined symbols for architecture

armv7”之类的,而“for architecture armv7”就是说没有支持armv7,在Build

settings里architecture相关的几项需要配置正确。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容