我有一个 C++ 软件(Borealis 流引擎),它已编译并可与 GCC 3.3.6 一起使用(我无法使其与较新版本的 GCC 一起使用,并且不再支持该软件) .
我喜欢扩展它来调用一些复杂的密码库(基于配对的库),这些库绝对是用最新版本的 GCC 编译的。
我的问题是是否可以这样做,即从使用旧版本 GCC 编译的代码中调用使用新版本 GCC 编译的库?技术上可行吗?潜在的问题是什么?
我希望有人能帮助阐明这些问题,这样我就可以避免花费数天(甚至数周)编译和学习如何使用这些软件,最后却发现它们无法协同工作。
最佳答案
是的。如果不是,我们就会遇到严重的问题。编译器的版本与平台的 ABI 无关。
(在 C++ 编译器的情况下,实际上可能会破坏的一件事是名称修改约定的更改,但是,例如,对于 C,即使这种风险也不存在。)
关于c++ - 链接使用不同版本的 gcc 编译的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14587110/