This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Multiply Defined Error

I am getting error below while compiling http_demo example for mcbstr9.
Tried defining these three variables again in Net_config.h as

extern const U8 IP_Broadcast[IP_ADRLEN];
extern const U8 MAC_Broadcast[ETH_ADRLEN]; But getting same error again. Kindly help.

.\Obj\Http_demo.axf: Error: L6200E: Symbol IP_Broadcast multiply defined (by at_ip.o and net_config.o).
.\Obj\Http_demo.axf: Error: L6200E: Symbol MAC_Broadcast multiply defined (by at_ethernet.o and net_config.o).
.\Obj\Http_demo.axf: Error: L6200E: Symbol igmp_is_member multiply defined (by at_igmp.o and net_config.o).

Parents Reply Children
  • Well, clearly, the Linker is telling you that there is!

    Almost invariably, an object file named <something>.o comes from a source file named <something>.c (or <something>.s or <something>.asm, etc)

    Have you searched your entire hard drive for, say, at_ip.* and net_config.*

  • "Have you searched your entire hard drive for, say, at_ip.* and net_config.*"

    Just remember that there may also be a "random-name".lib that happens to contain an "at_ip.o" so the linker can find files that aren't directly represented in the file system or where the base name isn't represented in the file system.

    But there are always developer tools available to solve these kind of problems - since it was developer tools that created the files that the linker processes. And developers who created the linker.