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

Unresolved external

I started a new project with an LPC2106 cpu.
There are two files in it: blinky.c and time.c
In Blinky.c I declare:

extern void init_time(void);

And call it in the main function.
Function is written in time.c

When I link I get a undefined symbol report on init_time

If I look at blinky.lst I can see a call to a external symbol called: "Z9init_timev"
And if I look at time.lst I can see a global symbol "init_time"

Anyone know what I am doing wrong???

Parents
  • "I'm not sure where that convention was used"

    Remember that GNU is of UNIX origin; to understand these things, you have to think like a UNIX hacker (in the benign sense of the word).

    To a UNIX hacker it is perfectly fine, reasonable and commonplace to find that a lowercase 'c' has a totally and completely different meaning to an uppercase 'C'.
    UNIX hackers find this perfectly natural; they will find it just as hard to understand how a Windows user could even consider the possibility that "blinky.c" would be in any way equivalent to "blinky.C"

    Since a lowercase ".c" suffix was well established as indicating a 'C' source file, it is not surprising that UNIX hackers should think of using ".C" for C++ source - since C++ is effectively a "bigger" 'C', it would make sense (to them) to to a "big" (uppercase) ".C" to distinguish it!

    It's a cultural thing!

Reply
  • "I'm not sure where that convention was used"

    Remember that GNU is of UNIX origin; to understand these things, you have to think like a UNIX hacker (in the benign sense of the word).

    To a UNIX hacker it is perfectly fine, reasonable and commonplace to find that a lowercase 'c' has a totally and completely different meaning to an uppercase 'C'.
    UNIX hackers find this perfectly natural; they will find it just as hard to understand how a Windows user could even consider the possibility that "blinky.c" would be in any way equivalent to "blinky.C"

    Since a lowercase ".c" suffix was well established as indicating a 'C' source file, it is not surprising that UNIX hackers should think of using ".C" for C++ source - since C++ is effectively a "bigger" 'C', it would make sense (to them) to to a "big" (uppercase) ".C" to distinguish it!

    It's a cultural thing!

Children
No data