Błąd linkera

0

Hej, piszę bo nie mam pomysłu jak rozwiązać problem z linkerem. Otóż sytuacja wygląda tak, że mam projekt_A, w którym znajdują sie pliki: plik1.cc oraz plik1.h, a także projekt_B, w którym znajduje się pliki: plik2.cc oraz plik2.h. Chciałem wykorzystać metody zdefiniowane w plik2.cc w plik1.cc. W tym celu dołączyłem plik2.h do headera plik1.h (który jest oczywiście dołączony do plik1.cc). Następnie dodałem w makefilu projekt_A include z pliki2.cc dla linkera. Niestety kiedy chcę zbildować projekt_A, to podczas tworzenia plik2.o otrzymuje błędy "undifined reference to", które dotyczą funkcji wywoływanych wewnątrz metod z pliku2.cc.

0

Pokaż kod, to powinno działać.

0

Nie mogę wstawić kodu, ale obrazowo to wyląda tak:

Projekt A

plik1.h
#include "path/plik2.h"
...

plik1.cc
#include "plik1.h"
...
Class1::method1()
{
	Class2::method2();
}
...

MakefileA
...
SRC_FILES += ${ROOT}path/plik2.cc
...

Projekt B

plik2.h

Class2
{
...
method2();
...
}

plik2.cc
Class2::method2()
{
	...
	Class3::method3();
	...
}

Output
Linking ProjektA...
path/pilk2.cc undifined reference to Class3::method3 

0

Class3 nigdzie nie ma, nic dziwnego, że nie widać referencji

0

Rozumiem, że po dołączeniu headera z definicją Class3 do plik2.cc oraz po dodaniu w makefilu projekt_B include z kodem źródłowym tej klasy powinno działać?

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