我正面临链接器错误:
。\ STM32F4xx-Nucleo \ DMA_LP_App.axf:错误:L6218E:未定义的符号HAL_UART_Init(从main.o引用)。“
我已在stm32f4xx_hal_uart.c
添加了文件option -> C/C++ -> include path
及其路径,但仍显示错误。
我已经通过RTE管理器添加了文件,但仍然是同样的错误。
如果我将文件添加两次,则会显示:
。\ STM32F4xx-Nucleo \ DMA_LP_App.axf:错误:L6200E:符号__asm___20_stm32f4xx_hal_uart_c____REV16多次定义(由stm32f4xx_hal_uart_1.o和stm32f4xx_hal_uart.o)。“
请告诉我导致此问题的原因以及可能的解决方案。
答案 0 :(得分:1)
已经sort.Used定义在我的stm32f4xx_hal_conf.h文件中启用模块。
感谢。
答案 1 :(得分:0)
将.C文件移动到cpp项目时,我遇到了同样的问题。我必须在下面添加行。
#include "abcxyz.h" //etc
#ifdef __cplusplus
extern "C" {
#endif
/*contents of your source file*/
...
#ifdef __cplusplus
}
#endif