|ARM Technical Support Knowledge Articles|
Applies to: BL51 Code-banking Linker/Locator
Information in this article applies to:
I have a program that consists on several assembler files and a single C file that I compile with the #pragma SRC directive.
I'm receiving the following linker error messages:
WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C?STRCPY MODULE: ASDF.OBJ (ASDF) WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: ?C?STRCPY MODULE: ASDF.OBJ (ASDF) ADDRESS: 0223H
What am I doing wrong?
The linker is not finding the ?C?STRCPY segment. This has to do with the way you are creating the object files for your project.
When you compile a C file, the C compiler includes external references to the standard C library files in the OBJ file that is generated. When you use the #pragma SRC directive with a C file to generate an assembler SRC file, that information is no longer generated by the C compiler. So, you must generate it automatically (if there isn't another C file in your project that isn't compiled with the SRC directive.)
To successfully link your project, you must manually include the proper library file in your project.
Article last edited on: 2005-07-19 15:30:41
Did you find this article helpful? Yes No
How can we improve this article?