一、安裝編譯環境:
1、下載gdb源碼(Index of /gnu/gdb)最新的源碼
2、下載msys64安裝包(MSYS2)
3、安裝msys64
4、安裝后運行mingw64.exe
5、在mingw64里安裝編譯環境:
pacman -Syu pacman -S mingw-w64-x86_64-toolchain pacman -S texinfo pacman -S pathch pacman -S gcc pacman -S make
注意:
pacman -Syu更新后會退出mingw64,只需重新運行mingw64,繼續執行后續指令就可以。
二、編譯GDB源碼:
因下面編譯會很容易破環這個編譯環境,建議編譯環境安裝完成后備份一下(備份msys64這個目錄)
1、解壓gdb源碼到msys64目錄(用gdb16.2為例)
2、編譯gdb(以下命令在mingw64里執行):
|
1
2
3
4
5
|
cd /gdb-16.2mkdir output./configure CFLAGS=" -g -O2 -Wno-error -Fno-debug " LDFLAGS="-static -Wl,-s" --target=i386-none-linux-gnu -build=x86_64-w64-mingw32 --with-python=no --disable-gtk --disable-x11 --disable-libexpat --enable-static --disable-shared --prefix=e:/msys64/gdb-16.2/outputmake -j4make install |
make -j4 同時使用4個線程編譯,可根據CPU調整以加快編譯速度。
注意:編譯其他CPU時請執行以下命令【徹底清理之前編譯所有生成的文件(包括配置文件和依賴關系)】,然后重復執行第3--5行的指令就可以。
make distclean
三、configure參數說明
在這簡單解釋一下configure的參數:
--prefix=e:/msys64/gdb-16.2/output # 安裝路徑(可選) --with-python=no # 禁用 Python --without-guile # 禁用 Guile --disable-gtk # 禁用 GTK 圖形界面 --disable-x11 # 禁用 X11 圖形界面 --enable-static # 啟用靜態鏈接核心庫 --disable-shared # 不生成共享庫 --build=x86_64-w64-mingw32 # 主機架構(Windows 示例) --target=x86_64-none-linux-gnu # 目標架構(示例) LDFLAGS="-static -Wl,-s" # 靜態鏈接并剝離符號 CFLAGS=" -g -O2 -Wno-error -Fno-debug "
編譯不同CPU的GDB.EXE只需修改紅色的部分:
--target=x86_64-none-linux-gnu
以下是常用CPU對應的名稱:
X86 64位=X86_64
x86 32位=i386 //暫時不能編譯i386 for linux版
ARM 64位=aarch64
ARM 32位=arm
龍芯 64位=loongarch64
riscv 32位=riscv
riscv 64位=riscv64



四、編譯成功后的文件處理
編譯成功后生成的GDB在msys64/gdb-16.2/output/bin目錄,文件名為“x86_64-none-linux-gnu-gdb.exe”,將x86_64-none-linux-gnu-gdb.exe改名為gdb.exe,拷貝gdb.exe及依賴文件到fpcbootstrap\gdb\x86_64-linux。
注意:
GDB.EXE需要以下依賴文件(在msys64/mingw64/bin目錄)。
libexpat-1.dll libgcc_s_seh-1.dll libgmp-10.dll libiconv-2.dll libintl-8.dll liblzma-5.dll libmpfr-6.dll libncursesw6.dll libstdc++-6.dll libwinpthread-1.dll libxxhash.dll libzstd.dll

浙公網安備 33010602011771號