STM32CubeIDE中的多个定义错误?

mec1mxoz  于 2023-08-03  发布在  其他
关注(0)|答案(2)|浏览(226)

我一直在阅读有关数码相机模块与stm32 f746 g-disco板接口的文档:
Link to documentation
我特别关注的部分是第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和Font 24在头文件中声明,并在c文件中定义。
Here are the only mentions of the table and font24 in the header
This is the definition of the table in the c fileThis is the definition of the font24 in the c file
所以我试着调试为makefile错误,并导航到makefile。网上的多个消息来源说,在C_SRCS中,我可能会看到同样的东西两次,删除它就可以解决我的问题。但是,我没有看到任何重复。
The makefile I am looking at
最后,我想我会显示项目目录,因为没有可见的指示器来指示错误在项目中的位置。
Project directory
对不起,如果这个问题真的很密集,我已经解决这个问题有一段时间了,但我不是C或stm32 CubeIDE的Maven。我会很感激任何帮助/输入,谢谢!

a2mppw5e

a2mppw5e1#

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 HAL_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”函数。

7vux5j2d

7vux5j2d2#

请通过https://gcc.gnu.org/gcc-10/porting_to.html
在STM32 CubeIDE中,后藤项目属性-> --> C/C++ Build--> SettingsMCU GCC Compiler--> Miscellaneous--> other flags-->添加-fcommon应用并关闭。

相关问题