变量的多重定义,而不是

时间:2019-03-06 12:23:09

标签: linker-errors mplab multiple-definition-error

我正在尝试使用MPLAB X IDE编译一个空项目。我刚刚使用过mcc(微芯片代码配置器)仅对时钟进行了第一次配置。
mcc生成了一堆头文件和源文件,例如“ traps.c,traps.h,system.h ... etc”
当我编译项目时,它会给我两种重复的错误,例如:
1- mcc_generated_files/traps.c:121: multiple definition of __MathError__MathError没有定义任何变量。只有定义为'_MathError'的函数 一个下划线

2- c:\program files (x86)\microchip\xc16\v1.35\bin\bin\..\bin/elf-ld.exe: Link Error: section .config_CPRE15%22 [015f78 -> 015f79 ] overlaps section .config_CPRE15%5 [015f78 -> 015f79 ]

我读到它是关于包含.c文件的。但是,我既不包括任何.c文件,也没有MCC文件,并且头文件中没有变量定义。
该编译有什么问题。
问候

1 个答案:

答案 0 :(得分:0)

我刚才也遇到了同样的问题。它是在我:

  1. 启动了pic24模板项目(该项目当然很好)
  2. 开始使用MCC(mplab代码配置器)添加计时器
  3. 然后构建会失败,因为我认为您遇到的上述问题

问题在于模板在主Project.X文件夹中已经有一个“ traps.c”,因此Project.X / mcc_generation_files / traps.c引起了各种编译麻烦。简单修复。只需右键单击并在生成的代码区域中删除一个,然后说“从项目中删除”即可。您还需要从头区域中删除traps.h。