*** WARNING L46: SFR SYMBOL HAS DIFFERENT VALUES SYMBOL: ScdIsr MODULE: .\obj\scd.obj (SCD) DEFINED: .\obj\scd.obj (SCD)
I defined SCDISR in a header file:
sfr SCDISR = 0xC0;
there is no SCDISR anywhere, why I got this warning/
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: t MODULE: .\obj\extalgo.obj (EXTALGO) DEFINED: .\obj\eeprom.obj (EEPROM)
I only defined t in eeprom.c as a local variable, but I got this error.
That's the problem, I did't notice it. There is another function named ScdIsr. Thanks .
I don't understand why compiler report this error?
It's not the compiler, actually, it's the linker. And it's reporting it because your program cannot be linked while the linker is in case-insensitive mode --- if you want to use different things whose name only differs in letter case, you have to enable case-sensitivity.