This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

unresolved symbols remain for Assembly Function

i have an assembly function __a_MoveFW defined in a .asm file

I'm trying to use in my firmware so in main.cpp i've declared

extern "C" void _a_MoveFW();

and somewhere in the code i call _a_MoveFW();

but the compiler says

undefined first referenced
symbol in file
--------- ----------------
_a_MoveFW ./main.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking;

What am i doing wrong?

  • You are building with the newer application binary interface (ABI) called EABI, and not the older COFF ABI.  Under EABI, symbol names are the same in C and assembly.  The COFF ABI convention of adding an underscore "_" is no longer observed.  The symbol name is _a_MoveFW in both C and assembly.

    Thanks and regards,

    -George