• 3604阅读
  • 3回复

Qt调用MFC动态库 [复制链接]

上一主题 下一主题
离线蚂蚁power
 

只看楼主 倒序阅读 楼主  发表于: 2016-07-28
大家好。 我想调用一些MFC的动态库,动态库中没有关于界面的代码。我是这么调用的:

    QLibrary lib("D:\\dcomm\\bin\\downPluginMODBUS.dll");  
if (lib.load())    
{      
qDebug()<<"加载MFC动态库downPluginMODBUS成功";  
}
    QLibrary lib1("D:\\dcomm\\bin\\downPluginIEC102.dll");    
if (lib1.load())    
{      
qDebug()<<"加载MFC动态库downPluginIEC102成功";    
}  
QLibrary lib2("D:\\dcomm\\bin\\upPluginBeidou.dll");  
if (lib2.load())    
{        
qDebug()<<"加载MFC动态库upPluginBeidou成功";    
}
    
QLibrary
lib3("D:\\dcomm\\bin\\upPluginIEC102.dll");    
if (lib3.load())  
  
{        
qDebug()<<"加载MFC动态库upPluginIEC102成功";  
  
}
上面的动态库都是MFC编写的 都调用失败。请问应该怎么调用?

    QLibrary lib4("D:\\dcomm\\bin\\ParseExcelDll.dll");  
if (lib4.load())  
{      
qDebug()<<"加载delphi动态库ParseExcelDll成功"; //这个动态库是用delphi写的 可以正常调用  
}

离线6gongzi

只看该作者 1楼 发表于: 2016-07-29
动态库的 导出的函数需要加上
extern "C"

只有纯c的动态库才可以互相调用
离线蚂蚁power

只看该作者 2楼 发表于: 2016-07-31
回 6gongzi 的帖子
6gongzi:动态库的 导出的函数需要加上
extern "C"
只有纯c的动态库才可以互相调用
 (2016-07-29 08:43) 

好的 谢谢。在请教一下 如果动态库中的函数返回一个类指针,我应该用什么去接这个类指针?
离线蚂蚁power

只看该作者 3楼 发表于: 2016-08-01
回 6gongzi 的帖子
6gongzi:动态库的 导出的函数需要加上
extern "C"
只有纯c的动态库才可以互相调用
 (2016-07-29 08:43) 

举个例子:A是我正在操作的类,B是动态库,C是动态库中的一个类。我在A中调用动态库B,然后应该怎么做才能在A中访问C类的成员?
快速回复
限100 字节
 
上一个 下一个