1:下载GDB源码
Index of /gnu/gdbhttps://ftp.gnu.org/gnu/gdb/或者直接在ubuntu下使用wget https://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.gz
2:使用sudo tar xf gdb-8.3.tar.gz,解压
3:cd gdb-8.3 切换到源码路径
sudo mkidr build 创建生成的目标存放文件夹
4:./configure --prefix=$(pwd)/build --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf CC=/usr/bin/arm-linux-gnueabihf-gcc CXX=/usr/bin/arm-linux-gnueabihf-g++
--prefix:指定生成路径
--host:指定平台
--target:指定目标
CC/C++:指定编译器
5.执行之后,会生成MakeFIle文件。
6.执行sudo make -j8 进行编译
7.执行sudo make install 进行安装
问题点:在进行make install 会报错
“makeinfo” is missing on your system,you should only need it if you modified a 'a.texi' file.....
make[5]:***[MakeFIle:486:gdb.info]错误127
make[4]:***[MakeFIle:1998:subdir_do]错误1
等等错误。
8:原因:交叉编译GDB,提示缺少“makeinfo”工具。此工具时GNU项目中用于处理Texinfo文件并生成info文件格式文档的工具,它通常时GNU make和Texinfo套件的一部分。
9:解决方式:安装相关套件
sudo apt-get install texinfo
10.然后重新执行 sudo make install ,就可以在/源码/build中找到各个生成的目标 。gdb 与gdbserver是在/build/bin路径下。
自此编译完成。