у меня немножко другая ситуация
C++ (Qt)
// f.h
void f();
// f.cpp
void f() {}
// g.h
extern void f();
// g.cpp
f();
Раньше просто не было необходимости это использовать
Ну или видимо так:
C++ (Qt)
// f.h
void f();
// f.cpp
void f() {}
// g.cpp
#include "f.h"
f();