It means that "int foo;" can only be declared in one compilation unit (object file).
Back in the days declaring "int foo;" in the headers were the way to go, hence you declared them in multiple places (which is OK for a common symbol).
-- R
Den 2025-02-22 kl. 16:39, skrev Edgar
Fuß:
I'm not sure I understand this correctly.
Is this about several compilation units declaring
extern int foo;
and no-one declaring
int foo;
and the question whether linking them together regards foo as undefined?