class AdminHook : public Module {
	public:
		virtual ~AdminHook();
		virtual std::vector<std::vector<std::string> > adminCommands();
		virtual void onAdminCommand(std::string server, std::string nick, std::string command, std::string message, bool dcc, bool master);
};

class AdminMod {
	public:
		virtual ~AdminMod();
		virtual void sendVerbose(int verboseLevel, std::string message);
};

AdminHook::~AdminHook() {}

std::vector<std::vector<std::string> > AdminHook::adminCommands() { return std::vector<std::vector<std::string> > (); }

void AdminHook::onAdminCommand(std::string server, std::string nick, std::string command, std::string message, bool dcc, bool master) {}

AdminMod::~AdminMod() {}

void AdminMod::sendVerbose(int verboseLevel, std::string message) {}
class AdminHook : public Module {
	public:
		virtual ~AdminHook();
		virtual std::vector<std::vector<std::string> > adminCommands();
		virtual void onAdminCommand(std::string server, std::string nick, std::string command, std::string message, bool dcc, bool master);
};

class AdminMod : public Module {
	public:
		virtual ~AdminMod();
		virtual void sendVerbose(int verboseLevel, std::string message);
};

AdminHook::~AdminHook() {}

std::vector<std::vector<std::string> > AdminHook::adminCommands() { return std::vector<std::vector<std::string> > (); }

void AdminHook::onAdminCommand(std::string server, std::string nick, std::string command, std::string message, bool dcc, bool master) {}

AdminMod::~AdminMod() {}

void AdminMod::sendVerbose(int verboseLevel, std::string message) {}
--- 
+++ 
@@ -5,7 +5,7 @@
 		virtual void onAdminCommand(std::string server, std::string nick, std::string command, std::string message, bool dcc, bool master);
 };
 
-class AdminMod : public Module {
+class AdminMod {
 	public:
 		virtual ~AdminMod();
 		virtual void sendVerbose(int verboseLevel, std::string message);
Change this so it works.  This may be tricky to work through when a lot of modules depend on a lot of other modules.
