vc动态库设计方式:建立工程的时候在向导里面选择的是Regular DLL with MFC Statically linked,
把一个设备动态库重新封装成一个新的动态库,以实现多个功能,方便调用。C#调用重新封装动态库的方式:C#封装C++API函数LoadLibrary、GetProAddress、FreeLibrary函数为C#方法;C#再用这三个函数调用重新封装的动态库函数。出现的问题:C#在测试调用重新封装的动态库时,提示“找不到相应的动态库模块”。
本机安装VC6.0环境后,可以正常调用重新封装动态库里的接口函数。请问该如何解决这个问题(在不安装vc6的前提下)?我能想到的原因是:
1、由于写动态库的时候选择的是常规DLL,用到了MFC类库,所以在没有vc环境的机器上测试调用的时候缺少这些库?如果是这个原因,又不知道缺少的是哪些库。请大神们不吝赐教。MFC动态库C#
把一个设备动态库重新封装成一个新的动态库,以实现多个功能,方便调用。C#调用重新封装动态库的方式:C#封装C++API函数LoadLibrary、GetProAddress、FreeLibrary函数为C#方法;C#再用这三个函数调用重新封装的动态库函数。出现的问题:C#在测试调用重新封装的动态库时,提示“找不到相应的动态库模块”。
本机安装VC6.0环境后,可以正常调用重新封装动态库里的接口函数。请问该如何解决这个问题(在不安装vc6的前提下)?我能想到的原因是:
1、由于写动态库的时候选择的是常规DLL,用到了MFC类库,所以在没有vc环境的机器上测试调用的时候缺少这些库?如果是这个原因,又不知道缺少的是哪些库。请大神们不吝赐教。MFC动态库C#
解决方案 »
- 修改config?
- .net中DataView.RowFilter属性中可以使用sql server的函数吗,比如datediff等。。
- 数据库文档生成工具1.0版本终于发布
- 奇怪的问题????
- 请问如何遍历主从表中当前子表的全部记录
- 引用的 excel 10,安装的 excel XP,能否在只安装了excel 2000的机器上使用?
- 怎样才能实现像visual studio.net 中的属性、工具箱,那种窗口效果??
- 在WinForm 是否可以用 DataGrid 来绑定一列来显示图片
- 下载《C# Primer》中文版?
- 如何用visual.net 在编c#的时候添加消息,像vc++6.0的类向导一样
- VLC 视频分辨率
- 一个很怪异的问题,求高手相助!
可以用以下命令行确认:
dumpbin.exe /EXPORTS 你dll的名字.dll
这个命令在哪里执行呢,我不会C#,动态库是我用vc写的?
如果被扰动了,该怎么解决呢?
知道LoadLibrary、GetProAddress、FreeLibrary在MFC哪个库里吗
可以直接用[DllImport("yourdll")]
可以直接用[DllImport("yourdll")]上面我说的方法是在网上查的。
你是说C#可以直接用[DllImport("xx.dll")]来引用动态库?
1、你安装一下.net2.0环境。
2、如果安装后不行,在看你在使用C++封装dll是使用的是动态加载还是静态的,如果是动态的看你C++代码中dll加载的位置是否有此dll。
2.如果depends 结果一切正常的话,需要看下程序中是否存在 动态调用的链接库(例如loadlibrary).如果有的话,记住引用的动态链接库名称。在c# code中pinvoke 调用setdlldirectory方法(通常是一起打包到程序目录下),loadlibrary 一般默认最先在当前module目录下找寻引用到的链接库。
public extern static IntPtr LoadLibrary(String path);[DllImport("kernel32.dll")]
public extern static IntPtr GetProcAddress(IntPtr lib, String funcName);[DllImport("kernel32.dll")]
public extern static bool FreeLibrary(IntPtr lib);或者直接用:[DllImport("自定义库.dll")]
方法原型参考:http://blog.csdn.net/jame_peng/article/details/4387906