extern do zmiennej

0

Witam
Mam plik .cpp nazwija A.cpp w którym mam zdefiniowaną zmienną: np.

const int x = 2;

Następnie mam inny plik .cpp (nazwijmy B.cpp) w którym mam:

extern const int x;

Gdy buduję kod produkcyjny to mi się kompiluje (rozbudowany system mejkfajli).
Gdy buduję unit testy (również rozbudowany system mejkfajli ale inny + google mock) to mi się kod nie buduje z błędem undefined reference do zmiennej x.
Oba pliki A.cpp i B.cpp w obu przypadkach budowane są w tej samej linii mejkem więc nie trzeba dawać flagi -lLibka.
Ponadto pliki. A.o i B.o są wybudowane. Również libka jest wybudowana.
Ktoś coś wie co może być nie tak?

0

Dzięki temu że mamy zmienną x w pliku A.cpp a nie A.hpp i extern w B.cpp a nie #include<A.hpp> to dzięki temu można zdefiniowac wiele plików *.cpp w których jest zdefiniowana zmienna x i zależnie od projektu włączac do kompilacji dany plik .cpp z którego chcemy by wartość x-a była zaczerpnięte.

1 użytkowników online, w tym zalogowanych: 0, gości: 1