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相关的几项需要配置正确。