ARM Technical Support Knowledge Articles


Applies to: GNU C Compiler for ARM


Information in this article applies to:


I have added my C source file, MYFILE.C, to my uVision project. When I compile and link the project, all external functions and variables of this module are reported as Error: undefined reference to .... I am sure that these functions and variables are defined in the other modules. What is the reason for this error?


The GNU tools are case sensitive. The file extension '.C' (uppercase C) is considered to be a C++ module, not a C module. The function and variable names are not compatible across C and C++ modules unless they are defined as extern "C".

Change the file extension to '.c' (lowercase c) and add this file to your project again. The filename may contain lowercase and uppercase characters.

Article last edited on: 2006-07-10 18:24:15

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential