日期:2014-05-17  浏览次数:21319 次

c#调用c++ dll,开发电脑运行正常,其他电脑提示"找不到webcamlib.dll文件
   一个c#解决方案中有三个项目,一个是用vc++写的,另外两个是c#,并且调用c++的dll,在开发电脑上运行正常,其他电脑提示"找不到webcamlib.dll文件"。webcamlib.dll就是用c++写的dll。在其他电脑也安装了.net运行库和vcredist_x86.exe。

------解决方案--------------------
   64位系统和32位不同,PE寻址方式可能有误,造成了找不到DLL。且开发电脑上的VS源码界面要选择any cpu 通用类型的。
------解决方案--------------------
你可以下一个depends软件看一下你用C++编写的这个动态库需要哪些支持Dll。
------解决方案--------------------

那...基本上...
不知道你所说的开发电脑环境,也不知道你说的其他不能运行的电脑的环境...
以前在windows XP,2003 操作系统,因为有wia 可以直接调用。后来windows 7 这个wia就不直接支持了。

根据你的描述初步,估计你所说的webcamlib.dll ,问题点应该是这个。
建议你还是换一个控制摄像头的类库,不清楚功能的dll你调用并应用,走回头路时候,痛苦的还是自己。
个人建议你参考aforge ,因为它内置对directShow,WFV支持,应该是开源中值得推荐选择。你自己在baidu搜一下他的源码,是开源的项目,如果你开发的是商用程序,慎用...
其次,你也可以参考 directShow.net,这个也可以,基于directShow,大部分支持。不过有时也会有问题,尤其是对windows XP SP2以前的系统,可能会有一些棘手的更新问题,不考虑XP 系统的话,你可以考虑用他它。