WhyCan Forum(哇酷开发者社区)

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-11-19 17:32:39

chadsea
会员
注册时间: 2020-11-16
累计积分: 4

请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

我使用了LicheePi Nano文档中的交叉编译工具
# 此处为获取7.2.1版本,您可获取其他版本或者通过链接直接下载
wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
编译了一个helloworld文件,使用file查看信息如下:
# file testCpp
testCpp: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=a6a58ddd7fc4aea2e2cc987cf94cc25137d85112, with debug_info, not stripped
是无法执行的。
# ./testCpp
Segmentation fault

使用sudo apt install g++arm-linux-gnueabi安装的交叉编译工具,编译得到的文件,file查看信息如下:
# file i
i: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=07022a4f49787c16ec1ed7851de704e5e604edde, not stripped
# ./i
hello world!
执行成功了。

我也试了纯c写的文件,分别使用两个交叉编译工具的gcc编译,也是一样的。file命令执行结果带有 with debug_info的都不能执行。
谁能告诉我这是为什么呢,如果我要使用官方推荐的工具链,怎么设置能使它编译出不带 with debug_info的可执行文件呢

离线

#2 2020-11-19 18:07:03

春风吹又生
会员
注册时间: 2020-02-25
累计积分: 53

Re: 请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

你那个工具链arm9不能用噢, 有两个选择:

1. 用 arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

2. 用 aodzip的buildroot:
buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *
http://whycan.com/t_5221.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)

离线

#3 2020-11-19 18:08:03

真的是很烦
会员
注册时间: 2018-10-08
累计积分: 121

Re: 请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

有strace吗?  可以跟下看跑到哪

离线

#4 2020-11-20 10:40:46

chadsea
会员
注册时间: 2020-11-16
累计积分: 4

Re: 请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

春风吹又生 说:

你那个工具链arm9不能用噢, 有两个选择:

1. 用 arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

2. 用 aodzip的buildroot:
buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *
http://whycan.com/t_5221.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)

这个工具链不支持arm9的吗,我是在
http://nano.lichee.pro/get_started/first_eat.html#id4
这里看到的,那lichee的文档确实有点坑啊
非常感谢你告诉我,我试试看你的方案 smile  smile

离线

#5 2020-11-20 10:45:47

chadsea
会员
注册时间: 2020-11-16
累计积分: 4

Re: 请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

真的是很烦 说:

有strace吗?  可以跟下看跑到哪

我以前不知道strace这个命令
刚看了下我的板子上还没有移植strace,如果我后面移植了这个工具,我试试看它的提示是什么

离线

#6 2020-11-20 17:38:54

JasonWoo
会员
注册时间: 2019-06-04
累计积分: 40

Re: 请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

板子文件系统有没有工具链的so文件?

离线

#7 今天 09:22:02

chadsea
会员
注册时间: 2020-11-16
累计积分: 4

Re: 请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行

春风吹又生 说:

你那个工具链arm9不能用噢, 有两个选择:

1. 用 arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

2. 用 aodzip的buildroot:
buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *
http://whycan.com/t_5221.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)

结帖了:
我使用了第一个选择,更换了交叉编译器,已经成功编译完整个系统了,确实是这个问题导致的。
感谢春风吹又生;
感谢论坛;

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB