QT封装动态库VC调用, 动态库发送消息给VC窗口

QT封装动态库VC调用, 动态库发送消息给VC窗口,第1张


一、使用QT生成动态库。


1、使用QT新建工程,步骤New Project-->>Library-->>C++库。


2、给项目取名test21, 选择 “共享库”。


3、选择“Desktop Qt 5.9.1 MSVC2013 64bit”。


4、选择自己需要模块,如果不需要,则跳过这一步。


5、双击“test21.pro”文件,并添加include(../QSoap/src/qtwinmigrate.pri),此模块用于与MFC窗口通信。


该模块是一个单独工程,需要单独下载。


6、双击“test21.h”文件,添加Test21(void *pWnd)、int Add(int a, int b)、int Sub(int a, intb) 和 void SendMsg(char *pMsg)四个函数, 声明变量void *m_pWnd。


 7、在“test21.cpp”实现上面四个函数。


 

 8、编译工程得到test21.dll和test21.lib。



二、使用VS2013新建C++工程,调用QT动态库。


1、使用VS2013新建工程,命名为 “test34”。


2、选择“基于对话框”, 点击“完成”。


 3、界面布局如下。


​​​​​​​ 

4、新建一个目录Test_DLL,在目录中分别新建bin、lib、include三个目录,把QT生成的动态库test21.dll拷贝到bin目录,test21.lib拷贝到lib目录,test21.h拷贝到include目录。


5、在工程中引入QT动态库,如下所示。


6、双击打开“test34Dlg.h”, 在该文件引入QT动态库头文件“test21.h”,并声明对象Test21 *m_pTest21。


7、双击打开“test34Dlg.cpp”文件,为m_pTest21对象申请内存。


 8、调用QT动态的Add和Sub函数。


 9、接收QT动态库发送的消息,添加WM_COPYDATA消息。


鼠标对准工程右键 ,点击“类向导”-->>“消息”-->>“WM_COPYDATA”,双击“WM_COPYDATA”, 点“完成”’。


 10、接收消息并显示到界面。



三、测试结果。


 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/585252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存