C++ 将编译版本复制到另一台主机时发生GCC编译错误

C++ 将编译版本复制到另一台主机时发生GCC编译错误,c++,c,gcc,ubuntu,compilation,C++,C,Gcc,Ubuntu,Compilation,我在我的一台ubuntu 10.10主机上编译了gcc,并将其安装在/c中。我可以在那个主机上编译C和C++程序,但是当我复制/ C(包含bin、LiExExc等)到Ubuntu 1004.2主机时,我得到: /c/libexec/gcc/i686-pc-linux-gnu/4.5.2/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or di

我在我的一台ubuntu 10.10主机上编译了gcc,并将其安装在/c中。我可以在那个主机上编译C和C++程序,但是当我复制/ C(包含bin、LiExExc等)到Ubuntu 1004.2主机时,我得到:

/c/libexec/gcc/i686-pc-linux-gnu/4.5.2/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
编译简单的.c文件时

我还从源代码安装和编译了gmp、mpfr和mpc(与我在10.10主机上安装的版本相同),但仍然出现相同的错误

我之所以不在每台主机上重新编译gcc,是因为它花费的时间太长,并且不喜欢使用ubuntu附带的gcc(来自build-sential)deb


请提供帮助

是否导出了LD\U LIBRARY\U PATH环境变量?查看错误,它无法找到libmpc.so.2

试试“找到libmpc.so.2”,如果你能找到,
export LD\u LIBRARY\u PATH=

以下是有关如何在Ubuntu中设置LD\u LIBRARY\u PATH的一些详细信息:

系统规格是否完全相同?需要注意的是,预编译的二进制文件可能无法与不同的体系结构(如x86、x86_64等)一起工作-此外,我不知道Ubuntu版本之间的差异,但这也可能会带来问题。如果您想确保第二台计算机以最佳方式工作,最好是在第二台计算机上重新编译。@RageD两台主机都是相同的arch:uname-m i686是否可以将gcc编译为静态的?所以编译后它不依赖gmp、mpfr、mpc?@rjoshi导出LD_库_路径有效!谢谢但关于我的最后一个问题“是否可以将gcc编译为静态的?因此编译后它不依赖于gmp、mpfr、mpc?”是否可能?@Daniel:是的,您可以通过传递完整的库路径来编译静态的。编译时,将路径设为-L/usr/local/lib/libgmp.aapt-get已经说明安装了libmpc dev,但调用“locate libmpc.so.2”不会返回任何结果。