我一直在跟踪这个文档,用于将数码相机模块与stm32f746g-迪斯科板连接起来:
我特别关注的部分是pgs 60-74。
直到第68页为止,一切都进行得很好,在我编译时完成了68-74所示的步骤之后,我得到了以下错误:
c:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Core/Src/main.o:C:/Users/Garrett/STM32CubeIDE/workspace_1.6.2/DCMI_Project/Debug/../Core/Src/font24.c:85: multiple definition of `Font24_Table'; ./Core/Src/font24.o:C:/Users/Garrett/STM32CubeIDE/workspace_1.6.2/DCMI_Project/Debug/../Core/Src/font24.c:85: first defined here和
c:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Core/Src/main.o:(.data.Font24+0x0): multiple definition of `Font24'; ./Core/Src/font24.o:(.data.Font24+0x0): first defined here和
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:74: DCMI_Project.elf] Error 1
"make -j16 all" terminated with exit code 2. Build might be incomplete.我不确定这是否是链接器错误,因为Font24_Table和Font24是在头文件中声明并在c文件中定义的。
因此,我尝试作为makefile错误进行调试,并导航到makefile。多个在线消息人士表示,在C_SRCS中,我可能会看到相同的东西两次,删除它将解决我的问题。然而,我没有看到任何重复。
最后,我想我应该显示项目目录,因为没有关于项目中错误所在的可见指标。
很抱歉,如果这个问题非常密集,我已经对这个问题进行了一段时间的故障排除,但我不是C或stm32CubeIDE的专家。我非常感谢您的帮助/意见,谢谢!
发布于 2021-12-25 06:20:36
函数c:\st\stm32cubeide_1.8.0\stm32cubeide\plugins\xxx\tools\arm-none-eabi\bin\ld.exe:./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.o:中的
HAL_UART_Init': C:/xxx/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c:353: multiple definition of_UART_Init‘;./Core/Src/stm32f1xx_hal_uart.o:C:/xxx/Core/Src/stm32f1xx_hal_uart.c:353:首先定义在这里
“HAL_UART_Init的多个定义”在我编译时出现,
我有这个问题的原因是我确实定义了两个“HAL_UART_Init”(我意外地复制了一个xxx.c文件)
我认为你的main.c和font24.c可能都定义了"Font24_Table“函数。
https://stackoverflow.com/questions/70174258
复制相似问题