我有简单的C ++ DLL函数:
__declspec(dllexport) int tst1(int a);
int tst1(int a)
{
return a + 1;
}
我有C#应用程序调用它:
[DllImport("Project1.dll")]
public static extern int tst1(int i);
static void Main(string[] args)
{
Console.WriteLine( tst1(1) );
Console.ReadLine();
}
}
出现EntryPointNotFoundException
错误:
我做错了什么?
答案 0 :(得分:4)
这个名字被C ++ decoration破坏了。添加extern "C"
以防止名称损坏:
extern "C" __declspec(dllexport) int tst1(int a);