我写了一个我想在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