我有一个关于从c ++ DLL到c#program的类的导出方法的问题。
我使用接口函数来调用DLL中的c ++类。它可以在c ++ DLL调用程序可执行文件和DLL之间正常工作。
但我不知道如何导出相同的DLL以供c#程序使用。
这是我的界面类:
extern "C" __declspec(dllexport) COGInterface* __cdecl CreateCOGInterfaceObject()
{
return new COGDLL;
}
DLL中的主要类:
class COGDLL : public COGInterface {
public:
COGDLL(){}
~COGDLL(){} ....
它是头文件
class COGInterface
{
public:
virtual ~COGInterface() {};
public:
virtual void InitializeClass(bool Side, bool GPUReady, bool PartialUseCUDA, int cpuCount, bool Reviewer, int Num, double TopThres, double BottomThres, bool WriteDebugImages) = NULL;
virtual int ImageLoader(Mat image) = NULL;
virtual int MainProcess() = NULL;
virtual void Terminate() = NULL;
};
我是否必须将DLL转换为静态库,然后使用CLI类包装它?
谢谢,