Xcode 13:如何为“找不到库”添加库搜索路径

Posted

技术标签:

【中文标题】Xcode 13:如何为“找不到库”添加库搜索路径【英文标题】:Xcode 13: How to add library search path for "library not found for" 【发布时间】:2022-01-18 03:36:29 【问题描述】:

今天在构建 React Native 0.66 项目时(过去一直在工作),出现错误提示找不到位于 my-proj/node_modules/aliyun-oss-react-native/ 的模块的库。在react-native link alien-oss-react-nativepod install 之后,错误仍然存​​在。 Some post 建议在my-proj->Building Setting->LinkingSearch Paths 上添加搜索路径。 my-proj/node_modules/aliyun-oss-react-native/ios/下的文件不少,这里有2个问题:1.Xcode应该加哪个路径(比如my-proj/node_modules/aliyun-oss-react-native/iOS/)? 2. Xcode中LinkingSearch Paths都要加上路径吗?

这是Search Paths在Xcode中的截图:

TARGETS,myproj->Build Settins,Other Linker Flags下,导致错误的模块库被列为第一个。我的猜测是 Xcode 可能无法识别 Other Linker Flags 下的所有库。不知道这是怎么发生的。

【问题讨论】:

这里是完整的错误:ld: library not found for -lAliyunOSSiOS clang: error: linker command failed with exit code 1 (use -v to see invocation) 即使build在Xcode中失败,我也可以使用nix react-native run-is从命令行成功启动react native应用程序 【参考方案1】:

尝试使搜索路径“递归”。

【讨论】:

所有路径改成递归后,报错还是一样。【参考方案2】:

这里的解决方案是在 Xcode 中打开 myapp.xcworkspace 而不是 myapp.xcodeproj。基于工作区的构建顺利完成。

【讨论】:

以上是关于Xcode 13:如何为“找不到库”添加库搜索路径的主要内容,如果未能解决你的问题,请参考以下文章

如何为 xcode 添加全局包含路径

Xcode 找不到库/模块。模拟器不会再次运行应用程序

如何为新安装的 Boost 添加编译器包含路径和链接器库路径?

在 xcode 4.x 中添加静态库的标头搜索路径混淆?

Xcode 9.2 中缺少标头搜索路径、库路径和链接路径部分

如何为 1px 宽的 UIButton 添加黑色轮廓?