I am getting error like this...program is running fine,when all file made to one main file..bt problem while creating different file....can some one suggest,how to clear this. linking... *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: LCD_INIT MODULE: lcd.obj (LCD) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _LCD_STR MODULE: lcd.obj (LCD) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _LCD_CMD MODULE: lcd.obj (LCD) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _LCD_DATA MODULE: lcd.obj (LCD) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _DELAY MODULE: lcd.obj (LCD) *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_LCD_STR?LCD *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?LCD_INIT?LCD Program Size: data=15.0 xdata=0 code=652
CODE FOR LCD.c:-(LCD.c)
#include <REGX51.H> sbit rs = P3^5; sbit rw = P3^6; sbit en = P3^7; void delay(unsigned int dela) { unsigned int i; for(i=0;i<dela;i++); } void cmdwrt_lcd(unsigned char cmd) { P1 = cmd; rs = 0; rw = 0; en = 1; delay(15); en = 0; delay(150); } void datawrt_lcd(unsigned char datas) { P1 = datas; rs = 1; rw = 0; en = 1; delay(15); en = 0; delay(150); } void display_lcd(unsigned char *lcdstr) { while (*lcdstr !='\0') { datawrt_lcd(*lcdstr); lcdstr++; } } void lcd_init() { cmdwrt_lcd(0x38); cmdwrt_lcd(0x0C); cmdwrt_lcd(0x01); cmdwrt_lcd(0x80); }
CODE FOR HEADER.h:-(header.h)
#ifndef HEADER_H #define HEADER_H extern void serial_tx(unsigned char); extern void serial_transmit(unsigned char *); extern unsigned char serial_rx(); extern void serial_init(); extern void lcd_init(); extern void display_lcd(unsigned char *); extern void datawrt_lcd(unsigned char); extern void cmdwrt_lcd(unsigned char); extern void delay(unsigned int); #endif
now any one can suggest me.....
#include"SERIAL.c" #include"LCD.c"
DO NOT #include .c files
Erik
Then,what should we do sir??
Maybe look at all the examples you got installed together with the compiler - don't they seem to sometimes contain multiple C files, without using #include to compile them?