extern and PROGMEM

... the 2 dont seem compatable.

if I put:
const int PROGMEM x[] = {1,2};
in one file, and ....

extern const int PROGMEM x[];
:
int a=x[0];
in another, they both compile find but I get the linker error:

(filename).cpp:(line# of a=x[0]) : undefined reference to x

int a = pgm_read_word_near(x + i);

https://www.arduino.cc/reference/en/language/variables/utilities/progmem/