包含gdbserver时,Buildroot交叉编译错误-声明冲突'typedef struct rpl_mbstate_t rpl_mbstate_t'

问题描述

使用buildroot-2020.05.1时,包含gdbserver时出现以下错误

In file included from build-gnulib-gdbserver/import/stdint.h:556,from ../common/common-defs.h:66,from ../common/common-debug.c:20:
             /home/bcu/work/buildroot-2020.05.1/output/host/arm-buildroot-linux- 
             uclibcgnueabihf/include/c++/9.3.0/cwchar:58:5: 
             error: conflicting declaration ‘typedef struct rpl_mbstate_t rpl_mbstate_t’
             58 |   } mbstate_t;

解决方法

现在遇到了同样的问题。您必须在 Buildroot 配置中为工具链启用宽字符支持:

  1. 运行 make nconfig(或 make menuconfig,如果您愿意)
  2. 选择Toolchain -> Enable WCHAR support,保存配置并退出
  3. 清理之前的工具链构建:make clean
  4. 重新构建一切:make -j$(nproc)

在为 ARM32LE 编译 GCC 5.5.0 和 uClibc 时,这对我使用 Buildroot 2020.02.10 有所帮助。希望这也能帮助你和谷歌的其他人:)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...