A.cpp contains main and includes only self.h
b.h contains functions wrapped in namespaces
self.h has class prototype
self.cpp defines members of class prototype in self.h by including self.h first
self.cpp also includes b.h in order to use the declared namespaces.
This works perfectly when compiled as a Dev C++ project but never works in Linux and in Netbeans on any platform.
When I compile in netbeans, all functions are declared twice irrespective of my #ifndef speculations.
If I compile in terminal, class doesn't exist. In fact, hell rains on this one.