请老师们帮个忙,提示头文件里函数重复定义

2020-01-26 12:42发布

请老师们帮个忙吧!自己编了一个头文件,编译时提示那个头文件的C文件里KEYSCAN_DRIVE.C(8): error C231: 'Ldelay': redefinition。(函数重复定义)改了几次名字也不行,从网上查了半天也没有什么有用的结果,请老师们帮个忙指导一下吧!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
35条回答
RelayProtect
1楼-- · 2020-01-29 16:12
撒手归路 发表于 2013-12-9 00:57
extern 不能放在.h文件里,,


这个可以放。。。
sunocean
2楼-- · 2020-01-29 18:40
撒手归路 发表于 2013-12-9 00:57
extern 不能放在.h文件里,,

打开.lib对应的.h 里面全是这种写法
MCUStudent
3楼-- · 2020-01-29 18:53
本帖最后由 MCUStudent 于 2013-12-9 13:25 编辑
lcofjp 发表于 2013-12-8 22:58
已经在11楼回复你了,可能你也没仔细理会
#ifndef __KeyScan_Drive_H__
#define __KeyScan_Drive_H__


谢谢您的解答,你说的方法我已经试过,又试了一遍还是不行。最新进展,经过诸位老师的指导,原来是提示两个函数重定义,现在变成一个了。早晨把整个工程的文件夹拷贝后带到另外一台笔记本上编译,和家里电脑一样。就是指把此函数注销掉编译通过,又重新把函数释放(去除注销标记)居然编译通过,不知所以然,一头雾水,期待正解!

我已经把源发到21楼了,码不知您编译的结果怎么样。
MCUStudent
4楼-- · 2020-01-29 20:49
 精彩回答 2  元偷偷看……
MCUStudent
5楼-- · 2020-01-29 23:37
zbazba 发表于 2013-12-8 19:58
恩 楼上说的对 再包含自己干嘛 我没有仔细看 

谢谢您的解答,你说的方法我已经试过,又试了一遍还是不行。最新进展,经过诸位老师的指导,原来是提示两个函数重定义,现在变成一个了。早晨把整个工程的文件夹拷贝后带到另外一台笔记本上编译,和家里电脑一样。就是指把此函数注销掉编译通过,又重新把函数释放(去除注销标记)居然编译通过,不知所以然,一头雾水,期待正解!

我已经把源发到21楼了,码不知您编译的结果怎么样
lcofjp
6楼-- · 2020-01-30 01:54
#ifndef __KeyScan_Drive_H__
#define __KeyScan_Drive_H__
#include <reg52.h>

/*#include "KeyScan_Drive.H"*/
extern void Ldelay();
extern unsigned char KeyScan_Drive();            
#endif
你21楼的程序唯一的错误就是头文件中Ldelay的返回值不对,应该是void的,我已经给你改正了,你自己不注意看,我发现你是来问问题的吗,不注意看大家的回复有意义吗?
到此为止,如果你继续发问,我就觉得你是脑子有问题了,我也没必要再说什么。

一周热门 更多>