linux 交叉编译出现的问题

描述一下我的问题吧:

在宿主机上交叉编译出来一个很简单的程序hello.c :arm-none-linux-gnueabi-gcc hello.c -o hello 

把hello 放到我的pandaboard 上不能运行 ./hello  出来的效果是./hello is no a directory  很无语啊

然后我在宿主机上面开始静态编译arm-none-linux-gnueabi-gcc hello.c -static -o hello 

编出来一个很大的hello 程序,放到pandaboard上面居然能够跑起来

同样我又在我的pandaboard上面用这个ubuntu 上面的gcc 自己编译一个hello程序,同样是可以运行的

我觉得主要问题出现自库上面,

所有在两台机器上面都用 readelf -d hello 查看动态编译的程序,发现在宿主机上编译的多了一个libgcc_s.so.1的库,在网上查了半天说是跟arm-linux-gcc 非常相关的一个库,很好奇怎么不用这个库完成编译的扔到子板上可以运行

貌似问题说得不怎么清楚了,先记录下来吧!

原文地址:https://www.cnblogs.com/michile/p/2918107.html