链接使用不同版本的gcc编译的库

时间:2013-01-29 16:06:36

标签: c++ gcc compilation compatibility

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

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

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

我希望有人可以帮助解决这些问题,这样我就可以避免花费数天(甚至数周)编译和学习如何使用这些软件,最终发现它们无法协同工作。

1 个答案:

答案 0 :(得分:1)

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

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