compiler-errors - 包含 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 配置中启用对工具链的宽字符支持:
- 运行
make nconfig
(或者make menuconfig
如果您愿意) - 选择
Toolchain -> Enable WCHAR support
,保存配置并退出 - 清理以前的工具链构建:
make clean
- 再次构建一切:
make -j$(nproc)
在为 ARM32LE 编译 GCC 5.5.0 和 uClibc 时,这有助于我使用 Buildroot 2020.02.10。希望这也能帮助你和谷歌的其他人:)
推荐阅读
- java - 即使在 Springboot 项目上使用 @CrossOrigin 注释定义后,跨域白名单 IP 也未应用
- apache-spark - 改进了使用 Window.partitionBy 而不是 groupBy 时的性能
- laravel - Submit a form with multiple possible actions Laravel
- sql-server - 如何从一系列长字符串中删除小数位
- excel - 如何使用写在不同工作表中的列名引用数据表中的过滤器字段
- scala - How to run a task on particular command?
- jax-rs - 如何制作可以使用@Context 注入的自定义上下文对象?
- php - moodle 3.6 如何使用网络服务功能获取学习者的进度
- google-cloud-platform - 安排 gcloud 命令
- php - How to add a user based link in WordPress admin menu