在Ubuntu 13.10"libstdc ++.so.6"上找不到Raspberry Pi交叉编译

Móż*_*Móż 1 cross-compiling raspberry-pi ubuntu-13.10

我已经按照SE上教程以及从Hertavillebootc尝试额外的步骤,但我仍然得到提示原始SE问题的错误.我很难过.

在得到错误之前,我进入了该过程的五个步骤:

sudo apt-get install git rsync cmake lib32z1 lib32ncurses5 lib32bz2-1.0
git clone git://github.com/raspberrypi/tools.git
export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
. ~/.bashrc
arm-linux-gnueabihf-gcc -v
Run Code Online (Sandbox Code Playgroud)

错误:

arm-linux-gnueabihf-gcc: error while loading shared libraries: 
     libstdc++.so.6: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

libstdc++.so.6在教程中提到的所有三个目录树中都存在./lib/x86_64-linux-gnu/libstdc++.so.6,但是在路径中添加相关的目录树没有帮助(见下文).我怀疑没有设置库路径,但我不知道那是什么.


我在运行Ubuntu 13.10的虚拟机中使用netbeans和其他工具,以及安装了LAMP堆栈.netbeans会很好地构建和运行C/C++可执行文件(显然IO可以从命令行执行相同的操作).

我试过的其他事情没有成功

export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/lib
Run Code Online (Sandbox Code Playgroud)

Hertaville建议添加32位架构:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6-i386 lib32stdc++6 zlib1g:i386
Run Code Online (Sandbox Code Playgroud)

而"构建必不可少"的包:

sudo apt-get install build-essential git
Run Code Online (Sandbox Code Playgroud)

这也没有帮助.我也重新启动以防万一.

Móż*_*Móż 5

正如所料,答案是微不足道的 - 安装lib32stdc ++ 6

上面的第一行应为:

sudo apt-get install libc6-i386 lib32z1 lib32stdc++6
Run Code Online (Sandbox Code Playgroud)