使用Xcode构建SRT库时遭遇-lsrt.1.5.2库未找到错误
解决Xcode构建SRT库时
ld: library not found for -lsrt.1.5.2错误 检查库文件存在性
- 前往日志中指定的链接路径
/Users/mac-0008/Library/Developer/Xcode/DerivedData/.../Debug-iphoneos,确认是否存在libsrt.1.5.2.a或libsrt.1.5.2.dylib文件。 - 若文件不在该目录,找到你编译SRT库时的产物输出路径,后续需将此路径添加到Xcode的搜索配置中。
配置Xcode链接路径与参数
- 选中Xcode项目中的
SRT_Lib_Build目标,进入Build Settings标签页 - 在Search Paths区域:
- Library Search Paths:添加SRT库文件所在的实际绝对路径,需确保路径对应Debug-iphoneos架构的编译产物
- 若以framework形式引入,同步检查Framework Search Paths的路径正确性
- 在Linking区域的Other Linker Flags中:
- 确认
-lsrt.1.5.2的拼写是否准确,若库文件存在符号链接libsrt.a,可尝试改为-lsrt
- 确认
验证库架构匹配度
- 用以下命令检查SRT库支持的架构:
lipo -info /path/to/libsrt.1.5.2.a - 确保输出包含
arm64架构,若不匹配,重新编译SRT库时指定iOS arm64架构(例如CMake编译时设置CMAKE_OSX_ARCHITECTURES=arm64并指定对应iOS SDK路径)
确认库的引入方式
- 手动引入:将
libsrt.1.5.2.a或对应framework拖入Xcode项目,在Target -> Build Phases -> Link Binary With Libraries中添加该库 - 包管理工具(如CocoaPods):检查Podfile中SRT的引入配置,执行
pod install后重新打开项目,确认Pod库加载状态
清理缓存后重构
- 执行Xcode菜单Product -> Clean Build Folder
- 删除DerivedData目录:
/Users/mac-0008/Library/Developer/Xcode/DerivedData/SRT_Lib_Build-atkwslgovxzmrvaqlhfwgtiinzsx - 重新执行构建操作
内容的提问来源于stack exchange,提问作者NøBi Mac
相关产品推荐
相关产品推荐

