问题:eclipse 下编写hello world 程序(代码简单,此处不贴出),交叉编译生成可执行文件hello,
放入开发板 输入 ./hello 结果输出:-bash: ./hello: No such file or directory
解决:1.chmod +x hello 并不能解决问题!!!!!
2.在可执行文件目录下输入readelf -a hello 会输出很多信息
其中会有以下这条信息:
然而在开发板的/lib 目录下并没有ld-linux.so.3 文件存在。却有ld-linux-armhf.so.3文件存在
输入ls -l
发现ld-linux-armhf.so.3是一个链接符号,指向 arm-linux-gnueabihf/ld-2.15.so。百度一下得知ld-linux.so.3也是一个链接符号,于是 将ld-linux.so.3也链接到arm-linux-gnueabihf/ld-2.15.so 输入ln -s arm-linux-gnueabihf/ld-2.15.so ld-linux.so.3 , 再输入ls -l ,输出如下结果:
再次运行 ./hello , 成功!!!!
相关理论参考共享函数库、动态链接库、静态链接库 Linux动态链接库.so文件的创建与使用 - Jamie - 博客园