使用为不同机器编译的静态库

时间:2016-02-26 16:34:37

标签: c++ c gcc compilation compiler-errors

我已经从作者那里获得了一篇论文的代码。 问题是他已经将一些部分编译成静态库(.a) 在开始时,我无法使用它,因为我遇到了这个错误:

/usr/bin/ld: skipping incompatible ../lib/libmvvt.a when searching for -lmvvt
/usr/bin/ld: cannot find -lmvvt

我意识到这是一个兼容性问题。 我编译了其余库的代码,现在我得到了它的工作,除了一个他没有提供源代码的库(只有标题)。

使用readelf检查库内部后,我可以看到该机器是MIPS R3000。

我的机器是x86-64。

有没有办法可以在我的机器上使用该库而无需重新编译它(因为我没有代码)?

谢谢!

2 个答案:

答案 0 :(得分:6)

  

有没有办法可以在我的机器中使用该库而无需重新编译它(因为我没有代码)

没有。

答案 1 :(得分:1)

静态库是编译对象。与在不同的不兼容体系结构中为一个体系结构使用可执行构建的方式相同,您不能以相同的方式使用静态库。

相关问题