VS 2010 + opencv2.3.1生成的dll怎样供C#调用

[复制链接]
查看11 | 回复1 | 2021-1-27 07:12:01 | 显示全部楼层 |阅读模式
C#代码:
namespaceCSTestDll
{
partialclassMainPage
{
[DllImport("OpenCVDll.dll")]
publicstaticexternintfnOpenCVDll();
publicMainPage()
{
InitializeComponent();
try
{
inta=fnOpenCVDll();
}
catch(Exceptionex)
{
GC.Collect();
}
}
}
}
C++dll代码:
extern"C"__declspec(dllexport)intfnOpenCVDll(void)
{
IplImage*img=cvLoadImage("Photo.jpg");
cvNamedWindow("Image:",1);
cvShowImage("Image:",img);
cvWaitKey();
cvDestroyWindow("Image:");
cvReleaseImage(&img);
return1;
}
Photo.jpg在工程目录下,编译时没错,运行时提示找不到dll。本机上运行opencv程序没问题,换成dll供C#调用就找不到dll了。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:12:01 | 显示全部楼层
你帖子重发了
路径问题吧。参考一下下面的格式
[DllImport(@"F:\Dll.dll",EntryPoint="functionName",CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
privatestaticexternintfunctionName(byte[]lpInBuffer,intlpInBufferlength);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行