回复: 【提问】qt 可以调用纯VC编译的DLL库吗
#6 [XChinux 03-01 07:19]
首先,Qt只是一套C++库。QT程序就是C++程序。你的东西只要C++能做,就能加进去。
我没有研究过,不过我猜测QLibrary实际上就是调用的LoadLibrary()这个WIN32 API函数。
你想用哪个都可以不过我建议你既然使用QT了就使用QLibrary来调用。如果你要使用LoadLibrary()还要加相应的头文件甚至还要加链接库。
还有,想问一句,你的这个DLL中到底用到没用到MFC???(使用VC写的,并不等于就用到MFC)
#7 [18283848 03-01 17:00]
编译出来的通讯DLL库,很肯定有用到MFC的类,互斥类 信号类 SOCKET类都谁MFC级别的,不是 WIN32级别的,
昨天再看了看VC生成 dll,可以生成3种 DLL,一种是WIN32 console 的DLL, 一种是正规MFC DLL一种是扩展 MFC DLL 我现在生成的是正规MFC DLL类型的通讯库.这有关系吗?
#8 [18283848 03-03 03:58]
今天试了了一下,不行呀,
QLibrary libtest("mfcdll");
if(libtest.isLibrary("mfcdll"))
qDebug()
#9 [18283848 03-03 21:32]
搞定了,可以加载用MFC写的动态库 ,
就用 QLibrary ,
使用 extern "C" __declspec(dllexport) 修饰DLL文件里要使用的函数就OK了.