VS使用QT编写dll程序
2017-07-14 20:27
453 查看
前言:
由于种种原因,我们可能需要将Win32/MFC程序与QT程序在一起交互调用,(比如将QT界面程序编写成dll动态库供Win32/MFC程序进行调用)。这时候就会出现问题,由于MFC和QT的消息循环机制不同, QT 必须有调用 QApplication 的 exec 方法,这样才能产生消息循环, QT 的程序才可以运行。所以说如果我们使用了 QT 编写了 dll 程序,在普通的 windows 程序中是不能调用的。在调用的时候会出现错误。所以,要让QT写的DLL可以供 windows 程序调用,就需要使用QT所提供的交互框架。
即:qtwinmigrate。
具体使用步骤:
1、下载QT的qtwinmigrate框架代码。
2、在VS下创建QT的DLL工程。
3、将qtwinmigrate目录下的src目录中的qwinwidget.cpp、qwinhost.cpp和qmfcapp.cpp文件以及相应的.h文件全部复制你的dll工程目录下,然后添加到工程里。
4、在qtwinmigrate\examples\qtdll目录下有一个main.cpp文件,其中DllMain 函数是 windows 动态库的入口函数,我们需要将main.cpp文件中的内容拷贝到自己工程相应的文件中。
由于种种原因,我们可能需要将Win32/MFC程序与QT程序在一起交互调用,(比如将QT界面程序编写成dll动态库供Win32/MFC程序进行调用)。这时候就会出现问题,由于MFC和QT的消息循环机制不同, QT 必须有调用 QApplication 的 exec 方法,这样才能产生消息循环, QT 的程序才可以运行。所以说如果我们使用了 QT 编写了 dll 程序,在普通的 windows 程序中是不能调用的。在调用的时候会出现错误。所以,要让QT写的DLL可以供 windows 程序调用,就需要使用QT所提供的交互框架。
即:qtwinmigrate。
具体使用步骤:
1、下载QT的qtwinmigrate框架代码。
2、在VS下创建QT的DLL工程。
3、将qtwinmigrate目录下的src目录中的qwinwidget.cpp、qwinhost.cpp和qmfcapp.cpp文件以及相应的.h文件全部复制你的dll工程目录下,然后添加到工程里。
4、在qtwinmigrate\examples\qtdll目录下有一个main.cpp文件,其中DllMain 函数是 windows 动态库的入口函数,我们需要将main.cpp文件中的内容拷贝到自己工程相应的文件中。
相关文章推荐
- windows下如何使用QT编写dll程序 .
- Windows下如何使用QT编写dll程序
- Windows下如何使用QT编写dll程序
- Win7下使用VS2013编写的ActvieX在XP下注册提示:LoadLibrary("XXX.dll")失败-找不到指定的程序
- Windows下如何使用QT编写dll程序
- Windows下如何使用QT编写dll程序
- Win7下使用VS2013编写的ActvieX在XP下注册提示:LoadLibrary("XXX.dll")失败-找不到指定的程序
- Windows下如何使用QT编写dll程序
- windows下如何使用QT编写dll程序
- windows下如何使用QT编写dll程序
- 让vs编写的程序在未安装vs的电脑上使用的一种方法
- Qt 不使用Qt Designer纯代码编写界面程序(初学者)总结
- 解决Tslib移植之后自己编写的QT程序不能使用触屏的问题
- 用QT在Windows下编写dll程序
- 在QT下编写带DLL的程序
- 使用 VS + SOS.dll 调试托管程序
- VS2008编写的程序使用更低版本VS打开
- VS编写Qt界面程序如何不出现控制台
- vs 2010 中用qt插件编写动态库dll
- 使用Visual Studio(VS)开发Qt程序代码提示功能的实现