Keil Logo

BL51: ERROR L103 (EXTERNAL ATTRIBUT DO NOT MATCH PUBLIC)


Information in this article applies to:

  • C51 Version 6.03

SYMPTOMS

When I compile and link my program, I receive the following error message from the linker:

*** ERROR L103: EXTERNAL ATTRIBUT DO NOT MATCH PUBLIC
    SYMBOL:  JUNK_TBL
    MODULE:  myfile.obj (MYFILE)

I have a global variable declared as follows:

code BYTE const JUNK_tbl[]

and an external definition declared as follows:

extern const BYTE JUNK_tbl[]

CAUSE

The problem is that the variable is declared to reside in CODE memory and the external reference declares that the variable resides in the default variable space (which is DATA, PDATA, or XDATA).

RESOLUTION

Change your extern declaration to match the variable declaration. For example:

extern code BYTE const JUNK_tbl[]

MORE INFORMATION

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Tuesday, July 19, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.