uniapp开发app框架在提升开发效率中的独特优势与应用探索
1719
2022-11-27
废弃第三方库导致的library not found for -lXXXXX(linker command failed ) 完美解决方法
编译错误是让人头疼错误,它没有指向具体代码而是指向第三方库的编译错误。有的库可能我们以前使用,现在不再使用,把它删除了或通过Podfile文件修改重新更新了,但是它还是给我们捣乱。通常是对它没有删除干净引起了。通常有四种解决方案:
如果不出所料,你应该能发现有一到数个的条目是用红色字体来显示的。
说明这些被工程引用的这些文件,其物理文件已经不处于之前所记录的地方了。
此时大抵能在左侧栏中定位到缺失文件所在的路径,接下来就好办了,找到缺失的文件,挪回它应该待的地方。如果这个库你不想用了,删除就可以了。
方法二:在工程的 Target 中选中要执行编译的某个target, 然后 “get info”,打开 Build 设置页面,在 “ Library Search Path” 中添加缺失链接库的所在文件夹的路径。
方法三:关闭Xcode,在控制台打开到工程目录,用pod install 命令重新安装,成功后再打开Xcode编译项目。这个是个人组件版本更新,你的本地私有库还是使用的原来版本。
方法四:检查在工程的 Target 中选中要执行编译的某个target, 打开 Build 设置页面,查找Other Linker Flags.看你使用还有-l”FBRetainCycleDetector”或-l”MLeaksFinder”这些你删除的库。
我的编译不通过就是通过方法四解决的。测试环境需要使用无侵入式内存泄漏第三方库”MLeaksFinder”,它依赖另一个库”FBRetainCycleDetector”。
正式环境我们不用内存检测库”MLeaksFinder”,通过修改Podfile文件(#pod ‘MLeaksFinder’,’0.2.1’),让后使用命令pod update –verbose –no-repo-update来删除这个库。当更新完成,打包时报这个错误。
找了很多地方也没有找到那里还有FBRetainCycleDetector,第一到三种方法都试了都没有发现异常,最好还时感觉时工程文件引用的,就一个一个包含头文件的配置项查找。终于在Other Linker Flags找到了真凶。
把和它相关的两个配置删除,再打包就正常了。
另外注意:苹果商店app版本是三分段式的,2.4.1.1这个在提交时直接驳回。2.4.0才是正确的格式。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~