C lib 文件依赖冲突

Posted

技术标签:

【中文标题】C lib 文件依赖冲突【英文标题】:C lib file dependency conflicts 【发布时间】:2015-06-20 17:02:14 【问题描述】:

所以我对 lib 文件的工作方式感到困惑,我更愿意使用所有 lib 文件而不使用 dll,但我担心特定类型的潜在冲突。

假设你有一个程序依赖于 lib 文件 a1 和 a2,而 lib 文件 a1 依赖于 lib 文件 b1,而 lib 文件 a2 依赖于 lib 文件 b2,但是 b1 和 b2 冲突。这是个问题吗?

更笼统地说,lib 文件中的每个函数是公共的,甚至是包含的库,还是它包含的库​​以某种方式是私有的?

【问题讨论】:

请解释一下“冲突”是什么意思。 如果 b1 和 b2 是同一个库的不同版本,那么函数名相同但函数定义不同。现在这都是理论上的,因为我没有发生任何问题,而是正在构建一种可以编译为 C 的语言,所以我正在尝试正确设置,这样我将来就不会遇到问题。跨度> 【参考方案1】:

是的。

如果冲突是 b1 和 b2 具有相同名称和不同行为的虚构,则链接器将选择其中一个(第一个),而 a2 将使用错误的虚构。

【讨论】:

不是我希望的答案,而是我期待的答案。谢谢!

以上是关于C lib 文件依赖冲突的主要内容,如果未能解决你的问题,请参考以下文章

依赖冲突android工作室

如何快速的解决Maven依赖冲突

项目集成aar以及gradle依赖冲突解决方式

这个IDEA插件,专门解决Maven依赖冲突

Maven依赖传递依赖传递排除依赖冲突

试试 IDEA 解决 Maven 依赖冲突的高能神器!