嵌入式开发,一般使用交叉编译工具,顾名思义,一个机器上编译出二进制文件,另一个机器上运行。
问题描述
解压缩soc厂商提供的交叉编译器,但是无法运行这个编译器,提示找不到文件,或者找不到so库之类的。
问题原因
Ubuntu是64位,而交叉编译器是32位(一般的嵌入式芯片,都是32位)。这就带来了问题,需要安装兼容包。
解决步骤
- 安装ia32-libs。然而这个库,在Ubuntu12之后,就木有了。
- 需找各种替代方案,一路bing
- 找到终结者。
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6-i386 lib32stdc++6 zlib1g:i386
- 在Ubuntu下,运行
shuaige@haha:~$ arm-xxx-linxu-gnueabi-gcc --version
顺利运行。
What is the next?
顺手写一个helloworld.cpp
Ubuntu下编译
上传二进制文件到目标板子
telnet终端运行二进制文件
显示了”hello world”
好开森,好开森!!