• 16595阅读
  • 12回复

QT调用VC下编译的dll 的问题 [复制链接]

上一主题 下一主题
离线feilong517
 

只看楼主 倒序阅读 楼主  发表于: 2010-02-02
       我用VC 下的MFC 的Win32 Dynamic-Link library 创建的动态库DLL,在MFC中的程序能正确的调用这个DLL,但在QT中调用这个动态库中的函数,
编译的时候提示:Starting D:\Qt\ImageSerSend\debug\ImageSerSend.exe...
D:\Qt\ImageSerSend\debug\ImageSerSend.exe exited with code -1073741515

(.lib 的后缀名改为以lib 开头,.a结尾。.pro 文件中也添加了LIBS += -L./ \ -lnet 。 代码中头文件也添加了。)
QT下调用VC下编译的 .dll 要进行特殊的设置?
离线hys97

只看该作者 1楼 发表于: 2010-03-04
顶一下!我也碰到这个运行错误,是什么原因呢
离线prout
只看该作者 2楼 发表于: 2010-03-06
需要把伴随dll生成的lib也添加到Link里面
离线feilong517

只看该作者 3楼 发表于: 2010-03-22
问题自己解决了。
出错是因为:调试的时候,我只把DLL动态库复制在了当前工程目录下,并没有复制到Debug目录下。后来我把DLL动态库也复制到了Debug目录下,这个问题就没有出现了。
离线yinlixing

只看该作者 4楼 发表于: 2010-03-24
引用第3楼feilong517于2010-03-22 10:02发表的  :
问题自己解决了。
出错是因为:调试的时候,我只把DLL动态库复制在了当前工程目录下,并没有复制到Debug目录下。后来我把DLL动态库也复制到了Debug目录下,这个问题就没有出现了。


请问你的Qt设置的是静态编译还是动态编译呀
离线yinlixing

只看该作者 5楼 发表于: 2010-03-24
引用第3楼feilong517于2010-03-22 10:02发表的  :
问题自己解决了。
出错是因为:调试的时候,我只把DLL动态库复制在了当前工程目录下,并没有复制到Debug目录下。后来我把DLL动态库也复制到了Debug目录下,这个问题就没有出现了。


请问你的Qt设置的是静态编译还是动态编译呀
离线minghu
只看该作者 6楼 发表于: 2010-07-21
        楼主楼主,最近我也用QT调用VC++写的DLL,生成三个文件(add.dll,add.lib,add.h),我再新建一QT工程,准备调用,我将add.lib和add.dll拷到工程的debug目录下,add.h拷到工程目录,现在我用QLibrary类调用,能够加载add.dll,但是我想调用里面的add函数,怎么也掉不出来,请楼主赐教,有招吗?

^_^
离线dbzhang800

只看该作者 7楼 发表于: 2010-07-21
引用第6楼minghu于2010-07-21 09:33发表的  :
        楼主楼主,最近我也用QT调用VC++写的DLL,生成三个文件(add.dll,add.lib,add.h),我再新建一QT工程,准备调用,我将add.lib和add.dll拷到工程的debug目录下,add.h拷到工程目录,现在我用QLibrary类调用,能够加载add.dll,但是我想调用里面的add函数,怎么也掉不出来,请楼主赐教,有招吗?
^_^

一个简单的问题被你绕远了。

1. 先确认你的VC++编译的 dll 接口是C的还是C++的
2. 如果dll是C++ ,确认你的Qt是VC++ 编译的

3. pro 文件内指定你的 头文件 和要链接的 lib,编译即可。

4. 要运行程序,确保 dll 能被程序找到即可

5. 头文件和 lib文件都有的情况下,根本不需要用 QLibrary 来显示加载 dll。
离线wd007

只看该作者 8楼 发表于: 2010-07-21
楼上所说同意,可以总结一下这个调用问题了。呵呵。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线tieqilin
只看该作者 9楼 发表于: 2010-07-22
伴随dll生成的lib也添加到Link里面
离线kan831019
只看该作者 10楼 发表于: 2010-07-23
还是不行啊 我也碰到过
离线kunhuang00
只看该作者 11楼 发表于: 2011-06-29
调试的时候,我只把DLL动态库复制在了当前工程目录下,并没有复制到Debug目录下
是什么库?细说一下?
离线akaterry
只看该作者 12楼 发表于: 2011-07-05
VS2008 怎么设置可以让QT工程生成.dll和.lib文件啊?!
快速回复
限100 字节
 
上一个 下一个