Posiadam nastepującą, uproszczoną strukturę kodu:
classes.h
class Base
{
public:
virtual ~Base();
static void fun1();
protected:
Base();
};
class Derived : public Base
{
public:
inline virtual void fun1() { Base::fun1(); }
};
base_mock.h
#include <gmock/gmock.h>
#include "path/classes.h"
class MockBase : public Derived
{
public:
~MockBase() {}
MOCK_METHOD0(fun1, void());
protected:
MockBase() {}
}
Podczas buidowania base_mock.o otrzymuję następujące błędy:
undefined reference to Base::Base()
undefined reference to Base::~Base()
undifined reference to Base::fun1()