【问题标题】:Linking libraries compiled with different version of gcc链接使用不同版本的 gcc 编译的库
【发布时间】:2013-01-29 16:06:36
【问题描述】:

我有一个 C++ 软件(Borealis 流引擎),该软件已编译并与 GCC 3.3.6 一起使用(我无法使其与较新版本的 GCC 一起使用,并且不再支持该软件) .

我喜欢扩展它来调用一些复杂的加密库(基于配对的库),这些库肯定是用最新版本的 GCC 编译的。

我的问题是是否有可能做到这一点,即从使用旧版本 GCC 编译的代码中调用使用新版本 GCC 编译的库?技术上可行吗?潜在的问题是什么?

我希望有人能帮助阐明这些问题,这样我就可以避免花费数天(甚至数周)编译和学习如何使用这些软件,最终发现它们不能一起工作。

【问题讨论】:

    标签: c++ gcc compilation compatibility


    【解决方案1】:

    是的。如果不是这样,我们就会遇到严重的问题。编译器的版本与平台的ABI无关。

    (在 C++ 编译器的情况下,实际上可能会破坏的一件事是名称修改约定的更改,但是,例如,对于 C,即使这种风险也不存在。)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2018-11-10
    • 2015-01-16
    • 2016-02-12
    相关资源
    最近更新 更多