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

BL51 Linking problem

Hello,

I have several warnings when I compile my project with uVision2.
I have L1, L2 and L16 warning. The thing is that I have some registers declared as EXTERN xdata volatile in .h files which are used in other .c files. And is seems that there are problems there.

I have seen that "*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL" may be caused by a missing library, http://www.keil.com/support/man/docs/bl51/bl51_l1.htm.

So I generated a library specifying the output option create library in the target options window.
I included the library in the project and recompile. Now I have also L16 warnings... and the other warnings are still there.

thank you

Parents
  • I have seen that "*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL" may be caused by a missing library
    The warning indicates that no module containing the variable is linked in, be that from a library or directly.

    first verify that the variable, indeed exist in some other module.

    For debugging purposes get rid of the library and check the list of included modules in the M51 file and then find out why the module where the variables is is not linked in.

    I have found that when having a "linking mystery" the fastest way to resolve the mystery is to link EVERYTHING directly, with only the Keil libraries, then when everythintg links warning and error free you can move some modules to a library.

    Erik

Reply
  • I have seen that "*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL" may be caused by a missing library
    The warning indicates that no module containing the variable is linked in, be that from a library or directly.

    first verify that the variable, indeed exist in some other module.

    For debugging purposes get rid of the library and check the list of included modules in the M51 file and then find out why the module where the variables is is not linked in.

    I have found that when having a "linking mystery" the fastest way to resolve the mystery is to link EVERYTHING directly, with only the Keil libraries, then when everythintg links warning and error free you can move some modules to a library.

    Erik

Children