iOS導入c++語言的靜態庫之后編譯不過,先要檢查是否導入了libstdc++


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~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM