关于VS2015引用动态链接库的问题

lv_rui 2017-05-20 07:22:46
vs2015引用dll文件时一直出现错误,总是会弹出“没找到modbus_tcp.dll!”。这个问题怎么解决?
modbus_tcp.dll已放置在项目目录和debugger目录下。代码如下:
hinstDLL = LoadLibrary("modbus_tcp.dll"); //modbus_tcp.dll modbus_tcp.dll
if (hinstDLL)
{
AfxMessageBox("modbus_tcp.dll已成功载入!");
}
else
{
AfxMessageBox("没找到modbus_tcp.dll!");
//SendMessage(WM_CLOSE);
}
...全文
3216 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jadechen 2017-09-09
  • 打赏
  • 举报
回复
用GetLastError函数看下 LoadLibrary是因为什么失败 并不一定是没找到文件,由很多种可能 比如,有可能modbus_tcp.dll还依赖别的DLL,而那个DLL缺失,也会导致LoadLibrary失败 另外,查看DLL依赖可以用depends工具,有黄色感叹号的就是缺失了
jadechen 2017-07-14
  • 打赏
  • 举报
回复
把modbus_tcp.dll放到你生成的exe同一个目录下 不过这样的写法有时候还是会出问题的,比如你使用了SetCurrentDirectory()函数或调用了CFileDialog打开了文件什么的 默认路径是会变的 所以最好得到当前exe的路径,用绝对路径来加载
真相重于对错 2017-07-08
  • 打赏
  • 举报
回复
2015没用过, 1、试试放到你生成的exe文件夹下 2、放到%system32%下 3、放到path环境变量的路径下。
lv_rui 2017-05-21
  • 打赏
  • 举报
回复
引用时没有这一项啊?
二月十六 2017-05-20
  • 打赏
  • 举报
回复
在项目中引用一下

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧