首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MPLAB无法合并.s和.c文件

MPLAB无法合并.s和.c文件
EN

Stack Overflow用户
提问于 2018-02-04 07:27:26
回答 1查看 324关注 0票数 0

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

提供以下代码是为了帮助我们开始,我班上的其他学生能够在没有更改的情况下获得相同的代码来构建,所以我认为这是我的MPLAB版本或编译器的问题。

所以基本上,我的汇编代码看起来像这样:

我的c代码看起来像这样。

当我尝试构建它时,我得到了以下错误:

multiple definition of '_counter'multiple definition of '_myAsmFunc'

当我删除汇编文件中的.global _myAsmFunc.global _counter行时

我得到了以下错误:undefined reference to '_main'undefined reference to '_myGlobalVar'

我试着调试并找出了一个解决方案,但我似乎找不到解决方案。正如前面提到的,其他同学使用不同的机器和版本的MPLAB和XC编译器都能让它工作,所以我不相信这是一个代码问题,但也许我必须稍微修改一下MPLAB或编译器的代码?

EN

回答 1

Stack Overflow用户

发布于 2018-02-04 07:41:06

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48603135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档