解决Windows上交叉编译qt gdb for raspberry pi报错

在尝试按照教程交叉编译Raspberry Pi的gdb时,遇到包括wchar.h中mbstate_t未定义、iswalnum等函数重复定义及strncasecmp未定义等错误。通过修改源码文件和包含头文件的方式逐个解决了这些问题,最终成功编译出gdb,并提供了编译后的下载链接。
摘要由CSDN通过智能技术生成
按照Ras在《适用于树莓派Raspberry Pi的嵌入式QT平台(三) -- 交叉编译 Raspberry Pi 版GDB with Python》一文里的做法,编译windows平台下的gdb,用于调试树莓派上的程序。

准备工作做好后,编译接二连三出现错误,先是wchar.h报错,说mbstate_t未定义,改了半天宏,无效果,
后面通过修改qt-creator-opensource-src-3.6.0-rc1\dist\gdb\source\gdb-7.10.tar.xz\gdb-7.10.tar\gdb-7.10\gdb\gnulib\import\下的wchar.in.h文件,
在191行的
/* Test whether *PS is in the initial state.  */
上面暴力添加类型定义,
#define mbstate_t int
解决。

接着又有iswalnum、iswalpha、iswascii等函数重复定义的报错,通过注释C:\MinGW\include下wctype.h中的宏定义解决,具体做法是将第73行的
#ifndef RC_INVOKED
改为
#if 0

还没完,后面还报出symtab.c里strncasecmp未定义,minsyms.c和dwarf2read.c中strcasecmp未定义的错误,通过在文件首部添加函数声明解决:
extern int strncasecmp(const char *s1, const char *s2, register size_t n); // symtab.c的修改,放在#include下面
extern int strcasecmp(const char *s1, cons
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值