ubuntu搭建嵌入式开发环境
主机:ubuntu14.04
开发板:TQ210V3
开始载命令行模式下直接安装了一个arm-linux-gcc
sudo apt-get install gcc-arm-linux-gnueabi
但是用这个编译了一个hello world的程序后无法在开发板上运行,提示
./hello not found
在ubuntu查看hello的链接库
arm-linux-readelf -a hello | grep "Shared library"
显示
0x00000001 (NEEDED) Shared library: [libc.so.6]
而我的ubuntu主机的/lib目录下没有这个库,但是开发板有,说明交叉工具不一致,然后卸载之
sudo apt-get remove gcc-arm-linux-gnueabi
看开发板的资料发现他用的是arm-linux-gcc4.4.3然后在网上下载了这个交叉编译工具包,解压
sudo tar -zxvf arm-linux-gcc-4.4.3.tar.gz -C /
解压目录为/opt/FriendARM
然后配置环境变量
sudo vim /etc/bash.bashrc
在这个文件的最后添加
/opt/FriendlyARM/toolschain/4.4.3/bin/:$PATH
保存退出后使环境变量生效
source /etc/bash.bashrc
查看交叉编译链的版本信息
arm-linux-gcc -v
报错,出现
/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
上网查原因是因为没有32位的库
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install lib32z1
此时可以显示交叉编译链的版本信息了,但是编译程序时仍报错
libstdc++.so.6: cannot open shared object file: No such file or directory
说明还是没有安装这个库
sudo apt-get install lib32stdc++6
此时再编译没有报错,发送到开发板上也可运行