我使用了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的可执行文件呢
离线
你那个工具链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的文档确实有点坑啊
非常感谢你告诉我,我试试看你的方案
离线
有strace吗? 可以跟下看跑到哪
我以前不知道strace这个命令
刚看了下我的板子上还没有移植strace,如果我后面移植了这个工具,我试试看它的提示是什么
离线
你那个工具链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】)
结帖了:
我使用了第一个选择,更换了交叉编译器,已经成功编译完整个系统了,确实是这个问题导致的。
感谢春风吹又生;
感谢论坛;
离线