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

iOS項目中引入c++庫,編譯連接時報以下錯:node

"std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:c++

"std::_List_node_base::hook(std::_List_node_base*)", referenced from:app

"std::string::push_back(char)", referenced from:函數

"std::string::append(char const*, unsigned long)", referenced from:ui

"std::string::_Rep::_S_empty_rep_storage", referenced from:調試

很明顯,以上都是stdc++標準庫函數。string

檢查Build Phases->Link Binary With Libraries 也包含了libstdc++.dylib庫it

 

最終調試發現:libstdc++.dylib實際不是一個庫,而是一個快捷方式。編譯

實際使用時,可能出現找不到庫的狀況,也可能找獲得,人品問題;List

而後,解決方案裏,直接把libstdc++.dylib換成libstdc++.6.0.9.dylib便可

Build Succeeded~

相關文章
相關標籤/搜索