前段时间做过c++调用python程序及其深度学习模型。最近想做个界面程序,将c++和python的处理结果呈现再从c#界面上。
于是采用将c++程序(包括调用python的模块)全部写成dll动态库文件。调用时候发现程序找不到对应的py文件,调试了好几天。发现就算引用py文件的绝对路径也不行。
错误程序及其代码如下所示
[DllImport("deep_dll.dll", EntryPoint = "loaddetect", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr loaddetect(string a, out int width, out int height, out int step );
private void button2_Click(object sender, EventArgs e)
{
int width, height, step;
IntPtr dst = loaddetect(filename, out width, out height, out step);
//filename是打开图片的地址
}
c++代码如下
DLL_API uchar *_stdcall loaddetect(char* filename, int & widths, int & heights, int & step) //, int & number,int* szBuffer
{
//载入图片
Ipl