美文网首页
iOS开发引入静态库动态库之后报错

iOS开发引入静态库动态库之后报错

作者: Lee坚武 | 来源:发表于2023-10-09 09:49 被阅读0次
    本人亲测有效!更多交流可以家魏鑫:lixiaowu1129,公重好:iOS过审汇总,一起探讨iOS技术!
    

    今天引入之前同事封装的一个工具静态库之后项目报错内容如下:

    Undefined symbol: std::__1::__vector_base_common<true>::__throw_length_error() const
    Undefined symbol: operator delete(void*)
    Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)
    Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)
    Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
    Undefined symbol: ___gxx_personality_v0
    Undefined symbol: operator new(unsigned long)
    Undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)
    

    刚开始没有仔细看报错内容,以为是项目没有引入该静态库,仔细确认了一下静态库已经引入,并且删除引入之后再次引入还是报这个错。看来不是因为没有项目没有引入该静态库引起的,仔细分析的了一下报错内容,看情况是由于静态库里的代码实现,依赖于其他库。看报错的内容,像是C++的报错,于是乎在 Build Phases -> Linked Binary With Libraries 中添加 libc++.tbd 。编译顺利通过~,记录一下,希望能帮助到其他童鞋


    image.png

    相关文章

      网友评论

          本文标题:iOS开发引入静态库动态库之后报错

          本文链接:https://www.haomeiwen.com/subject/kwribdtx.html