MPLAB无法组合.s和.c文件

MPLAB无法组合.s和.c文件,c,assembly,error-handling,mplab,xc16,C,Assembly,Error Handling,Mplab,Xc16,我在Mac上使用MPLAB v4.0.5,带有XC16 v1.33编译器。我有两个文件,thom5409_disc2_main_v001.s和thom5409_disc2_main_v001.c 下面的代码是用来帮助我们入门的,我班上的其他学生能够在不做任何更改的情况下获得相同的代码来构建,因此我认为这是我的MPLAB版本或编译器的问题 基本上,我的汇编代码如下所示: 我的c代码是这样的 当我尝试构建它时,会出现以下错误: “\u计数器”的多重定义 “\u myAsmFunc”的多重定义 当

我在Mac上使用MPLAB v4.0.5,带有XC16 v1.33编译器。我有两个文件,thom5409_disc2_main_v001.s和thom5409_disc2_main_v001.c

下面的代码是用来帮助我们入门的,我班上的其他学生能够在不做任何更改的情况下获得相同的代码来构建,因此我认为这是我的MPLAB版本或编译器的问题

基本上,我的汇编代码如下所示:

我的c代码是这样的

当我尝试构建它时,会出现以下错误:

“\u计数器”的多重定义 “\u myAsmFunc”的多重定义

当我删除程序集文件中的行时
.global\u myAsmFunc
.global\u计数器

我得到了以下错误:
对“\u main”的未定义引用
对“\u myGlobalVar”的未定义引用


我已经试着调试并找到了解决方案,但我似乎无法找到答案。如前所述,其他同学使用各种机器和版本的MPLAB和XC编译器都能让它工作,所以我不认为这是一个代码问题,但也许我必须为MPLAB或编译器更改一点代码?

这两个文件都将编译到
thom5409_disc2_main_v001.o
。您应该重命名其中一个文件,以便将.c和.s文件编译为不同的目标文件。

这两个文件都将编译为
thom5409\u disc2\u main\u v001.o
。您应该重命名其中一个文件,以便将.c和.s文件编译为不同的目标文件。

请以文本形式发布代码。我的编译器没有这种能力,我也不能复制/粘贴到文本编辑器中,或者以文本形式发布代码。我的编译器没有能力,也不能复制/粘贴到文本编辑器