我一直在阅读有关数码相机模块与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 file和This 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。我会很感激任何帮助/输入,谢谢!
2条答案
按热度按时间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”函数。
7vux5j2d2#
请通过https://gcc.gnu.org/gcc-10/porting_to.html
在STM32 CubeIDE中,后藤项目属性-> -->
C/C++ Build
-->Settings
MCU GCC Compiler
-->Miscellaneous
-->other flags
-->添加-fcommon
应用并关闭。