当前位置: 代码迷 >> .NET组件控件 >> c#调用c++dll库的有关问题
  详细解决方案

c#调用c++dll库的有关问题

热度:186   发布时间:2016-05-04 23:24:14.0
c#调用c++dll库的问题
第三方提供的关于二次开发高清摄像头的dll库。

sdk中有一个函数extern BOOL GT_DEV_Init(),要求第一个调用,用于初始化sdk。
问题就出在这里,c#代码如下:
 [DllImport("gtnetsdk.dll")]
 public static extern bool GT_DEV_Init();

报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

网上有说参数类型传递错误的,这个没参数。返回bool值也很简单。
还有什么原因?
------解决方案--------------------
先确保你的gtnetsdk.dll文件在System32目录下,能够正常找到,如果还不行,可以联系厂家寻求开发文档说明。
------解决方案--------------------
先用绝对路径试试
------解决方案--------------------
如果你在C# 系统中调用,那你最好在调用之前将C++的dll文件在dos中注册。之后添加引用。
------解决方案--------------------
Dll的引用的位置不对,放在最外层看看
  相关解决方案