开源库rapidxml和zlib的冲突
DuiMini准备用rapidxml解析xml界面配置,zlib解压文件,本来两个都是非常好的库,然而……
WTF
编译报错:XXX语法错误:“
问题出现
回去后用“不存在”搜索引擎一查,果然百毒还是百毒,歪果仁早就遇到过了
这就是一个冲突的BUG,两个都有一个叫alloc_func
的函数,rapidxml还好有命名空间保护,然而zlib不上路子直接暴露在外面……于是神奇的编译器就会在模板实例化时把zlib的func当成rapidxml的了……
解决方法
网上的方法非常暴力简单,搜索zlib或rapidxml中的alloc_func
,改成alloc_func1
或者其他的就行了……
有兴趣的朋友可以试试给zlib加命名空间。
最后还是要说,真TM坑……
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Matrix!
评论