In development builds (on Windows) modules are built as dynamic libraries, that means any classes/methods/functions that you want to use outside that module must be explicitly exported from the module. For example:
class TESTMODULE_API FTestModule : public IModuleInterface
{
public:
void Test();
};
See the TESTMODULE_API? That will export the entire FTestModule class from your module, alternatively you can apply it to just a subset of methods in a class. MODULENAME_API is automatically defined for each module, where MODULENAME is the name of the module in all caps.