码迷,mamicode.com
首页 > 移动开发 > 详细

iOS导入c++语言的静态库之后编译不过,先要检查是否导入了libstdc++

时间:2017-10-25 21:33:31      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:方案   lib   解决   bst   back   char   ring   signed   情况   

iOS项目中引入c++库,编译链接时报如下错:

"std::string::_Rep::_M_destroy(std::allocator<char> const&)", 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~

iOS导入c++语言的静态库之后编译不过,先要检查是否导入了libstdc++

标签:方案   lib   解决   bst   back   char   ring   signed   情况   

原文地址:http://www.cnblogs.com/Hakim/p/7731812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!