Witam
W pracy mamy projekt który dzieli się na komponenty i jest dość skomplikowany system makefile'ów tzn. jest jeden główny makefile który wywołuje z konsoli i który uruchamia budowanie poszczególnych komponentów:
komponent A:
cd sciezka_do_komponentuA && $(MAKE) TGT=$(TARGET)
komponent B:
cd sciezka_do_komponentuB && $(MAKE) TGT=$(TARGET)
...
itp.
Makefile każdego z komponentów może zawierac różne flagi, definy.
I żeby było wesoło to header klasy może mieścić się w komponencie A (interfejsy) a jego implementacja (plik .cpp) w komponencie B.
I teraz w komponencie C chcemy użyć obiektu takiej klasy i robimy
plik .cpp w komponencie C:
#include <sciezka do komponentu A w ktorym to miesci się header>
No i kompilator wywala mi się na etapie linkowania pliku w komponencie C: "undefined reference". Jak wywalę plik z komponentu B i w headerze komponentu A zrobie implementację (czy po prostu przeniose plik .cpp do komponentu A) to się linkuje, nie ma problemu. Czy ktoś wie może jak to rozwiązać? Przeniesienie .cpp do komponentu A nie wchodzi w grę. Jakoś da się może jakimiś parametrami w makefilu opędzlować to?