行业资讯
📅 2026/9/3 12:26:20
nordic undefined reference to `stdout‘,
一. 陈述问题在使用segger embedded studioIDE开发nordic 52840过程中我们编译出现了如下错误E:/Program/SES/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(fileops.o): in function putchar:fileops.c:(.text.libc.putchar0x0): undefined reference to stdoutfileops.c:(.text.libc.putchar0x4): undefined reference to stdoutE:/Program/SES/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(fileops.o): in function puts:fileops.c:(.text.libc.puts0x2): undefined reference to stdoutfileops.c:(.text.libc.puts0x6): undefined reference to stdoutfileops.c:(.text.libc.puts0x18): undefined reference to __SEGGER_RTL_X_file_writeE:/Program/SES/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(fileops.o): in function fwrite:fileops.c:(.text.libc.fwrite0xc): undefined reference to __SEGGER_RTL_X_file_statfileops.c:(.text.libc.fwrite0x24): undefined reference to __SEGGER_RTL_X_file_writeBuild failed二. 分析问题通过编译错误简单分析得知有相关的函数或标识符未定义。三. 解决问题1. 在segger和noridc论坛查到相关参考资料:1.1. nRF5 SDK 17.1.0 示例未在最新的 SES 6.20a 中编译 - 北欧问答 - 北欧开发区 - 北欧开发区 (nordicsemi.com)1.2. 构建环境问题 - Nordic QA - Nordic DevZone - Nordic DevZone (nordicsemi.com)1.3. Build Environment Problem - Nordic QA - Nordic DevZone - Nordic DevZone (nordicsemi.com)2. 通过上面的参考资料得知相关函数没有定义重新定向即可。2.1. project - options - private configuration - common2.1.1. Code - Library - Library I/O, 由none修改为RTT。PS1. segger embedded studio的项目管理是从空间范围大小依次solution Project file folder file.简单说solution下面可以有多个projectproject下面的结构则跟MDK keil是一样的。未在指定级别上做修改的所有选项都将继承自上层这样就可以在一个级别上修改某些选项例如定义、包含目录或优化级别同时保留所有其他选项。所以在选择的时候一定需要注意选择project。2. solution和project下面有不同的configuration。solution有Public ConfigurationPrivate Configuration 和 Loader Configuration 配置。project有Public Configurationdebug、releasePrivate Configurationcommon。可以在一个地方设置默认和共享选项。然后可以根据构建配置设置或覆盖特定选项。 这就是“私有配置”和“公共配置”的用途。 公共配置是构建配置。可以选择和构建它并生成输出。 无法构建私有配置。相反公共配置可以继承一个或多个私有配置中设置的选项。 这样所有构建配置“Debug”和“Release”都可以从相同的私有配置“Common”继承共享选项。 目标处理器包括目录...只需在“Common”中设置并在“Debug”和“Release”中使用。参考资料Configurations and project options (segger.com)嵌入式工作室 - SEGGER WikiDisclaimer / 免责声明:本文仅代表作者在撰写和修改时的个人观点不代表当前或未来立场。文中观点和内容未经学术机构或标准组织验证作者不对其准确性、完整性或可靠性作任何保证。请读者仅供参考并自行核实相关信息。本文旨在探索与经验分享因篇幅及作者水平所限难免存在疏漏欢迎批评指正。如有问题或交流建议请联系flourishinggardenoutlook.com。copyright / 版权声明:本文为作者原创。引用或转载需注明“转自或引用自 flourishinggardenoutlook.com”。 未经注明来源的擅自使用、抄袭或传播行为均被禁止。