这段时间在搞音视频相关的项目,所以调研了一番决定使用bilibili的ijkplayer,但是在集成的过程中遇到了这个错误,所以贴出来作为笔记,也希望对遇到同样问题的童鞋有点帮助。
其实就是添加了C++模块,但是没有添加相关兼容的库而已,只需要添加libstdc++.6.0.9.tdb就可以了。
最后贴出来我google问题的时候找到的相关答案
Apple Mach-O Linker Error 解决办法
2015-07-27 17:10:16
iOS项目中引入c++库,编译链接时报如下错:
"std::string::_Rep::_M_destroy(std::allocatorconst&)", referenced from:
"std::_List_node_base::hook(std::_List_node_base*)", referenced from:
"std::string::push_back(char)", referenced from:
"std::string::append(char const*, unsigned long)", referenced from:
"std::string::_Rep::_S_empty_rep_storage", referenced from:
很明显,以上都是stdc++标准库函数。
检查Build Phases->Link Binary With Libraries 也包含了libstdc++.dylib库
最终调试发现:libstdc++.dylib实际不是一个库,而是一个快捷方式。
实际使用时,可能出现找不到库的情况,也可能找得到,人品问题;
然后,解决方案里,直接把libstdc++.dylib换成libstdc++.6.0.9.dylib即可
Build Succeeded~