• 19533阅读
  • 9回复

[提问]QLibrary每次都是load失败,用VC调用这个库可以load成功 [复制链接]

上一主题 下一主题
离线mxjknow
 

只看楼主 正序阅读 楼主  发表于: 2012-05-03

    QLibrary mylib("BX_IV.dll");    if(mylib.load())    {        qDebug()<<"load success";    }else    {        qDebug()<<"load false";    }
代码就是上面的,dll文件放在了工程目录下,急啊,load都load不成功,求解啊
离线xins0123

只看该作者 9楼 发表于: 2015-04-14
回 mxjknow 的帖子
mxjknow:现在load成功了,问题应该是解决了,3楼说的是对的,应该放在debug的目录下,之前我忽略了一点就是
提供的DLL有两个文件一个是BX_IV.DLL,还有一个是BXGPRS.DLL,我只用到了BX_IV.DLL,所以开始我
一直只把BX_IV.DLL放在了debug目录下,刚才在继续搜索解决方法的时候看到了一个帖 .. (2012-05-05 14:19) 

我也遇到这种问题。请问这两个依赖的dll放在哪个的debug目录呢?我是用绝对路径load的,两个dll 都放到应用程序的debug目录下也不行。。。
离线hycldn
只看该作者 8楼 发表于: 2012-05-05
应该是有依赖关系
离线mxjknow

只看该作者 7楼 发表于: 2012-05-05
现在load成功了,问题应该是解决了,3楼说的是对的,应该放在debug的目录下,之前我忽略了一点就是
提供的DLL有两个文件一个是BX_IV.DLL,还有一个是BXGPRS.DLL,我只用到了BX_IV.DLL,所以开始我
一直只把BX_IV.DLL放在了debug目录下,刚才在继续搜索解决方法的时候看到了一个帖子说是dll可能和
别的一些dll相关联,于是我想到了我还有一个BXGPRS.DLL没有放进去,于是我在拉完屎以后回来一身轻松
的情况下把BXGPRS.DLL也放进去了,load成功,这点貌似很重要吧,希望大家在以后注意一下这一点,俺
纠结这个问题了3天了。在此结贴希望对大家有帮助。
离线mxjknow

只看该作者 6楼 发表于: 2012-05-05
回 4楼(jdwx) 的帖子
我加载system32里的任意一个dll文件都能load成功....真心纠结了
离线mxjknow

只看该作者 5楼 发表于: 2012-05-05
回 4楼(jdwx) 的帖子
兄弟,我把dll到处都放了,debug,xxxx-build-desktop,依然加载不成功,很纠结啊
离线jdwx

只看该作者 4楼 发表于: 2012-05-04
回 3楼(mxjknow) 的帖子
如果你用QtCreator默认的编译目录,就是xxxx-build-desktop,dll应该放到这个目录里。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线mxjknow

只看该作者 3楼 发表于: 2012-05-04
回 2楼(jdwx) 的帖子
那有什么解决的办法么?
离线jdwx

只看该作者 2楼 发表于: 2012-05-04
引用第1楼shiziyang于2012-05-04 09:37发表的  :
是不是因为你两个库用的编译器不同啊?

顶!
前几天还有人问过类似的问题,VC的DLL要用VC的编译器,mingw不会好用的。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线shiziyang

只看该作者 1楼 发表于: 2012-05-04
是不是因为你两个库用的编译器不同啊?
快速回复
限100 字节
 
上一个 下一个