编译C程序出现多重定义,怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译C程序出现多重定义,怎么解决?相关的知识,希望对你有一定的参考价值。

Symbol MmiUtil_WaitKeyMenu multiply defined (by atool.o and appmenu.o)

参考技术A 应该是你在2个c文件中都定义了全局的MmiUtil_WaitKeyMenu,可以声明为static,或者改个名字追问

为什么定义成static的就可以?

追答

定义成static就限定了只在当前文件生效

本回答被提问者和网友采纳
参考技术B 你少include一个头文件,或者去头文件注释掉 参考技术C 可以利用预处理命令#ifndef或#ifdef来解决。 参考技术D 你只定义一次啊。头文件开头你都加上#pragma once 第5个回答  2012-10-12 还是要看源代码

以上是关于编译C程序出现多重定义,怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

C++找到一个或多个多重定义的符号

error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载)

不存在的目录中的多重定义

在多文件中C语言中全局变量的重定义

在多文件中C语言中全局变量的重定义

在多文件中C语言中全局变量的重定义