在Unity3D 5中使用extern c ++ dll

时间:2016-01-16 21:00:51

标签: c# c++ dll unity3d

我写了一个我想在Unity3D中使用的C ++ DLL。我把它放入Assets / Plugins并编写了一个C#脚本,它应该访问它的一个函数,但是我收到了这个错误:

EntryPointNotFoundException:乘以
test.Start()(在Assets / Scripts / test.cs:11)
Manager.h:

extern "C"
{
    class Manager
    {
    public:
        __declspec(dllexport) float Multiply(float a, float b);
    };
}

Manager.cpp:

 #include "Manager.h" 

extern "C"
{
    float Manager::Multiply(float a, float b)
    {
        return a * b;
    }
}

C#脚本:

 [DllImport("Manager", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
    private static extern float Multiply(float a, float b);

    void Start()
    {
        Debug.Log(Multiply(10, 2));
    }

编辑:在我使用课程时,这不起作用。要使用课程,您必须执行this

0 个答案:

没有答案