GDB交叉编译

本文仅用以记录交叉编译gdb的过程。

使用的交叉编译工具链:arm-poky-linux-gnueabi-gcc,gcc version 6.2.0 

GDB依赖的库:

1. ncurses(不确定是否用到这个库,不过编译GDB的时候提示缺这个的头文件)

2. termcap

编译之前先加入交叉编译环境变量,我的交叉编译工具环境变量的设置都在environment-setup-cortexa9hf-neon-poky-linux-gnueabi中,直接source即可

source /opt/fsl-imx-x11/4.9.11-1.0.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

编译ncurses

下载地址:https://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz

tar -zvxf ncurses-5.9.tar.gz
cd ncurses-5.9/

# 配置
./configure --host=arm-poky-linux-gnueabi --target=arm-poky-linux-gnueabi --prefix=`pwd`/install

# 删除这个文件最后面对宏定义的注释,防止后面编译报错
vim include/curses.tail +104

make
make install

#复制头文件和库文件到交叉编译工具链中
cp -r install/include/ncurses/*.h /opt/fsl-imx-x11/4.9.11-1.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/
cp install/lib/*.a /opt/fsl-imx-x11/4.9.11-1.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/

编译termcap

下载地址:https://mirrors.sjtug.sjtu.edu.cn/gnu/termcap/termcap-1.3.1.tar.gz

tar -zvxf termcap-1.3.1.tar.gz

cd termcap-1.3.1

# 配置

./configure --host=arm-poky-linux-gnueabi --target=arm-poky-linux-gnueabi --prefix=`pwd`/install

make
make install

#复制头文件和库文件到交叉编译工具链中
cp -r install/include/termcap/*.h /opt/fsl-imx-x11/4.9.11-1.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/
cp install/lib/*.a /opt/fsl-imx-x11/4.9.11-1.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/

编译gdb

 GDB版本:8.2, 下载地址:https://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.gz

tar -zvxf gdb-8.2.tar.gz

cd gdb-8.2

# 配置

./configure --host=arm-poky-linux-gnueabi --target=arm-poky-linux-gnueabi --prefix=/usr/local/arm-linux-gdb

# 编译

make -s -j4

make install

编译成功后会在/usr/local/arm-linux-gdb下安装好gdb,拷贝到开发板上就可以使用

参考文章:

编译ncurses错误处理及解决办法_浮生若梦 为欢几何-CSDN博客

交叉编译gdb遇到no termcap library found的解决方法_做一个有技术追求的人-CSDN博客

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值