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博客

 

你可能感兴趣的:(gdb,交叉编译,gdb移植)