第三方C++库与厂商应用因C++ ABI版本不一致导致的编译问题求助
第三方C库与厂商应用因C ABI版本不一致导致的编译问题求助
各位大佬好,想请教个编译相关的问题:
我们目前在使用一款由厂商开发、基于C实现的产品,最近计划在该厂商应用的扩展代码中引入第三方C库OpenXSLX来解析Excel文件。但遇到了麻烦:
- OpenXSLX是用编译选项
_GLIBCXX_USE_CXX11_ABI=1构建的 - 而厂商的整个应用都是以
_GLIBCXX_USE_CXX11_ABI=0编译完成的
现在只要我们在代码里包含OpenXSLX的相关定义,就会出现编译错误。我们排查后发现,像std::string这类标准库类型的定义在两个不同ABI版本下不兼容,这直接导致了冲突问题。
有没有朋友能给我们提供一些可行的解决方案呀?
备注:内容来源于stack exchange,提问作者Pavan Dittakavi
相关产品推荐
相关产品推荐

