标题:
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
[打印本页]
作者:
吴琳
时间:
2020-4-22 11:27
标题:
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
求解答编程报错 找不到重定义的地方啊~~
Build started: Project: wendu
Build target 'Target 1'
compiling main.c...
compiling ds18b20.c...
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: INIT_DS18B20
MODULE: .\Objects\ds18b20.obj (DS18B20)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: READ_DS18B20
MODULE: .\Objects\ds18b20.obj (DS18B20)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: _WRITE_DS18B20
MODULE: .\Objects\ds18b20.obj (DS18B20)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: _DELAY_ONEWIRE
MODULE: .\Objects\ds18b20.obj (DS18B20)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_WRITE_DS18B20?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?READ_DS18B20?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?INIT_DS18B20?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?KEYSCAN16?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_WRITE_DS18B20?DS18B20
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?READ_DS18B20?DS18B20
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?INIT_DS18B20?DS18B20
Program Size: data=31.2 xdata=0 code=1061
Target not created.
Build Time Elapsed: 00:00:01
复制代码
源码:三个文件[code]//main.c
#include<stc15f2k60s2.h>
#include "ds18b20.c"
#define uchar unsigned char
unsigned char num;
unsigned char yi,er,san,si,wu,liu,qi,ba;
unsigned char tab[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
void init();
void Delayms(uchar i);
void keyscan();
void Keyscan16(void);
void display_a(int yi,int er);
void display_b(int san,int si);
void display_c(int wu,int liu);
void display_d(int qi,int ba);
void main()
{
作者:
carpcarey
时间:
2020-4-22 12:18
本帖最后由 carpcarey 于 2020-4-22 17:54 编辑
include只能是头文件.h不能是.c文件。。。主程序
#include "ds18b20.c"
表示你在主程序里包含了ds18b20.c里的所有内容,再编译到ds18b20.c时,发现那些函数名已经被主程序声明过了。就出现了重复声明的问题。
所以将#include "ds18b20.c" 改为#include "ds18b20.h"
作者:
csmyldl
时间:
2020-4-22 12:31
重复定义了相同的变量
作者:
1105688209
时间:
2020-4-22 12:58
提示全局变量重复定义,是不是uchar unsigned char被重复定义了?你检查一下头文件包含里有没这代码
作者:
man1234567
时间:
2020-4-22 16:26
ERROR L104: 变量重复定义,请参考全局变量;
WARNING L16: 函数没有被调用,如果真的没用就删了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1