hello, Error: L6200E: Symbol os_thread_def_blink_LED multiply defined (by led.o and main.o)..i have declared the variable led.h header file. and included the same header file in all the sub files
"i have tried with extern keyword. error was there as it was. but simply removing a #include c file all errors are resolved... anyway thank you all for your suggestions..."
You don't give us much information. All we know is that you tried something incorrectly. And we can't tell you want you did wrong since you never tried to explain exactly how you tried to change the code.
Have you tried a rather "advanced" experiment? Have you opened any of the compiler-supplied header files and checked how they use the "extern" keyword?
The ground rule is to have "extern" before variable declarations in header files.
And then select one (1) source file where you actually define the variable.
Note that declaring a variable (using "extern") is just telling the compiler "there exists a variable of this name and type".
While defining a variable is telling the compiler "create this variable here", in which case the compiler will supply special "instructions" to the linker.
And the linker will be unhappy if it processes multiple object files that all contains the information "create this variable here".
In the end, you can't really get anywhere without learning how to use the extern keyword. It's a very important keyword since larger programs just needs to be splitted into multiple source files or they will be impossible to maintain. So "getting around" isn't a good path. That's like getting around fixing the car by walking - the car will still be broken the next time.