解决交叉编译到开发板不可用的问题
最近换了一个电脑专门装ubuntu后,和往常一样仍是装好arm-linux-gnueabi-gcc,arm-linux-gnueabi-g++和eclips e后,写好程序,交叉编译之后,在板上却显示:
-sh: ./a.out: No such file or directory
然后查看文件属性:
file a.out
显示如下:
a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=cfd57ddadc94410b1922a606b6c0e4fc7d6addee, not stripped
和之前同样的交叉编译过,但能在开发板上运行的文件比较了一下:
file sinfo
显示如下:
sinfo: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=4769e11eda509ac1e6b52100af3f364229e7b534, not stripped
再看了自己的GNU/Linux版本:
uname -a
Linux colibri-imx6 4.1.41-rt50-dirty #3 SMP PREEMPT RT Sun Aug 27 17:20:09 CST 2017 armv7l GNU/Linux
这两个GNU/Linux和我的都不同,由于GNU/Linux版本的区别,这样很可能是因为动态编译的不同,导致开发板上缺少某个库,就无法运行该文件,故而显示No such file or directory。
解决方法:
在编译的时候,选择- static来进行静态连接,这样,所有需要的库全会编译进文件里,虽然文件会变得很大,但是可以不依赖板上的库运行。
只用在eclipse里,在编译的时候在gcc-link里面选择- static即可:
ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=8478b453a14004a4bc0338f990461b3416c05f63, not stripped
这样最后编译出来即可运行。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/jiqiao/10626.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
EasyDSS RTMP流媒体服务器运
时间:2021-01-07
-
Linux客户端访问NFS报Permi
时间:2021-01-07
-
MobaXterm中运行脚本出现c
时间:2021-01-07
-
解决启动Nginx出现"'THRE
时间:2020-12-29
-
centeros7的redis-cli命令不生
时间:2020-12-29
-
本地java链接远程服务器
时间:2020-12-29
-
在不重启的情况下为Vmwa
时间:2020-12-28
-
英特尔修复Linux CPU漏洞:
时间:2020-12-28
热门文章
-
4种绕过Linux/Unix命令别名的方法
时间:2020-12-26
-
如何检查你的计算机使用的是UEFI还是BI
时间:2020-12-26
-
在Linux下为X1 Carbon CPU降压
时间:2020-12-26
-
为你的Fedora系统增添发音功能
时间:2020-12-28
-
英特尔修复Linux CPU漏洞:19年前的奔腾3也
时间:2020-12-28
-
使用molly-guard保护你的Linux/Unix机器不会被
时间:2020-12-28
-
解决启动Nginx出现"'THREAD_CONCURRENCY' is d
时间:2020-12-29
-
本地java链接远程服务器Linux上redis出错解
时间:2020-12-29
-
Intel CPU底层漏洞事件完全详解:包括修复
时间:2020-12-28
-
在不重启的情况下为Vmware Linux客户机添加
时间:2020-12-28
