之前一直被网上言论所吓倒,以为QT加载不了MFC的dll,网上也没有成功的例子。
弄了几天,原来发现还是可以的。
(之前试过静态加载,确实是不行,下面是用LoadLibrary方法来动态加载)
方法一:
#include <QtCore/QCoreApplication>
#include <Windows.h>
#include <string>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::string* buffer1; //这个String的指针,只是个人习惯,可以不用指针,可以用char* 或者QString
std::string* buffer2;
buffer1 = new std::string();
buffer2 = new std::string();
buffer1->clear();
buffer1->append("C:\\xxx.dll"); //注意这里路径需要两个反斜杠
HMODULE tmp = LoadLibraryA(buffer1->c_str());//开始加载Dll 这个HMODULE 跟上面的windows.h相关联
// DLLPREFIX HCLOBJ DLLENTRY Test( LPCTSTR a, LPCTSTR b ); //dll所对应的.h的函数声明
typedef long (CALLBACK