You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arch Linux下用MinGW交叉编译gdb出现头文件缺失及依赖报错如何解决

交叉编译GDB问题解决方案

编译时缺失srchilite头文件报错处理

该报错是GDB的源代码高亮功能依赖libsource-highlight库,你当前的MinGW环境没有安装对应目标架构的该依赖库,可以直接禁用该功能跳过依赖检查,修改configure命令添加--disable-source-highlight参数即可,无需额外安装依赖。

gdbserver运行时缺失dll报错处理

该问题确实是默认动态链接导致的:MinGW编译的程序默认会动态链接libgcc、libstdc++运行库,运行环境未部署对应32位dll时就会触发报错,有两种解决方式:

  • 静态链接生成独立exe:编译时添加静态链接参数,完整configure命令如下:
    ./configure --host=i686-w64-mingw32 --disable-source-highlight LDFLAGS="-static -static-libgcc -static-libstdc++"
    
    按上述命令重新配置后再执行make,生成的exe不依赖外部运行时dll,可直接运行。
  • 部署对应dll:将MinGW安装目录下的32位版本libgcc_s_dw2-1.dll、libstdc++-6.dll复制到gdbserver.exe同目录,即可正常启动。

额外优化建议

如果你只需要使用gdbserver,不需要完整的Windows端gdb程序,可以进入源码目录下的gdbserver子目录单独执行configure、make操作,不需要编译整个GDB项目,编译速度更快,也不会触发source-highlight的依赖检查。

内容的提问来源于stack exchange,提问作者Udalny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:18:03