从C#应用程序调用C ++ DLL时找不到Enry点

时间:2018-01-24 18:30:18

标签: c# visual-c++

我有简单的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错误:

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:4)

这个名字被C ++ decoration破坏了。添加extern "C"以防止名称损坏:

extern "C" __declspec(dllexport) int tst1(int a);