繁体   English   中英

在一个项目中链接2个不同的标准c ++库是否安全

[英]Is it safe to link 2 different standard c++ library in one project

我正在使用链接错误构建我的iOS项目。 我的项目链接到一些第三方静态库。 他们使用不同的标准c ++库,一个是libstdc++ ,另一个是libc++

链接任何一个都会导致其他lib中的链接错误,所以我在目标中链接它们,命令行是-lstdc++ -lc++

现在它成功构建,但我想知道它是否会导致一些运行时错误,有人能解释一下吗? 提前致谢。

不,这不安全。 实际上,它直接违反了One Definition Rule(ODR) 除其他事项外,ODR表示在整个程序中最多只能有一个非内联函数的定义。 您将通过链接标准库的两个不同实现来违反此规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM