LoadLibrary()来加载libmysql.dll,为何还是提示错误框?

kbsoft 2009-08-17 10:29:48
我现在是想满足一定条件的时候,才用LoadLibrary()加载LIBMYSQL.DLL,一开始不用加载,但是一启动程序,就弹出找不到DLL的对话框了。

提示框内容:“没有找到LIBMYSQL.DLL,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题”

我估计是和配置有关?
和LoadLibrary()的路径关系不大吧?因为程序还没走到LoadLibrary(),一按F11就会弹出这个对话框,还没调用LoadLibrary()呢,连winmain()都没进入.
...全文
480 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
喜洋洋呵呵 2011-11-11
  • 打赏
  • 举报
回复
http://yadang418.blog.163.com/blog/static/2684365620100351221729/
MoXiaoRab 2009-08-17
  • 打赏
  • 举报
回复
LZ用了静态链接吧?
雪影 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 skybblue 的回复:]
如果你想用LoadLibrary显示方式调用你的dll话,在配置中就应该把.h和.lib文件去掉,然后自己还的重新写一个.h文件,在这个文件中把你要定义的函数指针形式定义出来,然后才能通过LoadLibrary形式加载dll调用。这样你就不然写一个封装类,在这个类中实现对dll的动态加载和函数封装。
[/Quote]

up
楼主检查一下是不是隐式连接了LIBMYSQL.DLL
skybblue 2009-08-17
  • 打赏
  • 举报
回复
如果你想用LoadLibrary显示方式调用你的dll话,在配置中就应该把.h和.lib文件去掉,然后自己还的重新写一个.h文件,在这个文件中把你要定义的函数指针形式定义出来,然后才能通过LoadLibrary形式加载dll调用。这样你就不然写一个封装类,在这个类中实现对dll的动态加载和函数封装。
jason176374 2009-08-17
  • 打赏
  • 举报
回复
LIBMYSQL.DLL可能回去调用其他的动态库。如果这些动态库没有的话,也会报类似的错。

你可以用VC的DEPENDENCE WALKER工具把LIBMYSQL.DLL打开看看。有没有显示找不到的DLL什么的
xylicon 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 youyifang 的回复:]
在调用之前使用了库里面的接口
[/Quote]

用动态调用dll,不需要lib。当然定义接口的 .h还是需要的。
Abcix 2009-08-17
  • 打赏
  • 举报
回复
既然用LoadLibrary,就是显示链接,不需要lib和h。隐式链接才需要,如果隐式链接,就不需要LoadLibrary。还有,确保LoadLibrary的dll路径正确
kbsoft 2009-08-17
  • 打赏
  • 举报
回复
各位,没有解决方案???
youyifang 2009-08-17
  • 打赏
  • 举报
回复
在调用之前使用了库里面的接口
kbsoft 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 delphigis 的回复:]
把DLL相关的.lib和.h代码去掉
[/Quote]

libmysql.lib在配置中去掉?会导致链接错误啊。
百事烟 2009-08-17
  • 打赏
  • 举报
回复
把DLL相关的.lib和.h代码去掉

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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