Hi all,
I have a small issue with a definition with arm C compiler regarding constants. In an assembly code I define a constant with :
Version EQU 0x01000100
In my main C file I import this const by :
extern unsigned int const Version;
Now my problem is to put this const in another const based on a struct :
const myType titi = { ..., // blabla Version, ... // blabla };
The compiler gives an error : Main.c(60): error: #28: expression must have a constant value But it's a constant !!!
Since my goal is to avoid multiple definition of same constant in severaal files, I'm looking for a solution to solve this problem.
Thanks by advance !
What tool is it that allows an EQU (a text macro in the scope of the assembler) to be accessible as a named symbol to the linker?
Those where EQU is actually not a text macro. The tell-tale signs that this is the case for a given assembler are:
* you can publish an EQU (PUBLIC, EXPORT, ...) * redefinining EQUs is forbidden * there are special rules for the value of an EQU (numeric, constant) * there is another facility for actual text replacement macros