Well. This worked for me:
VC6 main.cpp
Code:
int main()
{
HMODULE h =
::LoadLibrary("C:\\Development\\Dev\\Project1.dll");
if(!h) return 0;
SomeClass* (*t)() =
(SomeClass* (*)()) ::GetProcAddress(h, "ImportedMethod");
if(!test) return 0;
SomeClass * someClass = (*t)();
someClass->someMethod();
return 0;
}
Dev C++ 4.9.9.2 dll.h
Code:
#ifndef _DLL_H_
#define _DLL_H_
#include <iostream>
class SomeClass
{
public:
virtual void someMethod() = 0;
};
class RawrClass : public SomeClass
{
public:
virtual void someMethod() { std::cout << "Test"; }
};
extern "C" __declspec (dllexport) SomeClass * ImportedMethod();
#endif
Dev C++ 4.9.9.2 dllmain.cpp
Code:
#include "dll.h"
#include <windows.h>
SomeClass * ImportedMethod()
{
return new RawrClass();
}