我在Ubuntu 13.10(64位)的主文件夹中有一个交叉编译器。我在页面底部下载了here,其中显示了“Prebuilt Toolchains”。当我尝试编译某些东西时,它给了我这个:
cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
稍微晃眼后,我发现this。我尝试了作者写的命令进入;但他们不会帮助我,因为我在家庭词典中使用交叉编译器时遇到了这个问题,而不是系统编译器。有人可以帮忙吗?
编辑:以下是我尝试交叉编译的文件:
void print(char *message, int line,int ch){
char *vm=(char *)0xb8000;
int i=(line*80*2);
i=i+(ch*2);
while(*message!=0){
if (*message=='\n'){line++;
i=(line*80*2);}
else {vm[i]=*message;
i++;
vm[i]=0x07;
i++;} *message++;}}
void kernel_main(){
print("Hello!\nHow do you like my kernel?",0,0);}
我还有一个用AT& T语法编写的汇编文件,它调用kernel_main()。
答案 0 :(得分:10)
发出以下命令后,我的错误消失了:
export LD_LIBRARY_PATH="/usr/local/lib"
sudo ldconfig
ldconfig
是神奇的。
答案 1 :(得分:2)
你能在/ usr / lib或/ usr / lib64中找到libmpc.so.3吗?如果你发现它或同样的东西,你需要用libmpc.so.2文件替换它。该文件可以在不同的Linux版本中找到。
答案 2 :(得分:1)
recoverWith
然后在mpc-0.9目录中:
brew tap homebrew/versions
brew install gcc48
brew install gmp
brew install mpfr
答案 3 :(得分:1)
我解决了cc1: error while loading shared libraries: libmpc.so.2
如下:
通过repo安装libmpc3
并制作符号链接(脏方法,但有效):
sudo apt-get install libmpc*
或(如果是i386的工具链):
sudo apt-get install libmpc*:i386
在/usr/lib/i386-linux-gnu
中为i386或在/usr/lib/x86_64-linux-gnu
中为amd64:
sudo ln -s libmpc.so.3.0.0 libmpc.so.2