解决应用程序执行时出现“-/bin/sh: ./xxx: not found”

2019-07-12 18:54发布

在嵌入式Linux上执行应用程序时,出现“-/bin/sh: ./xxx: not found”,经分析,在Linux操作系统上执行应用程序时,首先要把程序装载进内存中,完成该功能的是装载器。在PC平台上的Linux中发现,在 lib目录下存放很多库文件,其中就有装载器对应的库文件(ld.so和ld-linux.so)、libc.so等。在我的嵌入式Linux的根文件系 统的lib目录下没用库文件,解决的方法是把交叉编译器对应的lib目录下的库文件拷贝到嵌入式Linux的根文件系统的lib目录下即可,这些库文件可 以使用交叉编译器的strip工具以减小其大小,从而减少其所占存储空间。