通过DLL将c ++类导出到c#

时间:2015-09-08 02:56:34

标签: c# c++ opencv dll export

我有一个关于从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类包装它?

谢谢,

0 个答案:

没有答案