| 查看: 869 | 回复: 0 | |||
yalefield金虫 (文坛精英)
老汉一枚
|
[交流]
【转帖】Windows下如何使用QT编写DLL程序
|
|
作者:tingsking18 http://blog.csdn.net/tingsking18/archive/2009/12/08/4967172.aspx 因为QT必须有调用QApplication的exec方法,这样才能产生消息循环,QT的程序才可以运行。所以说,如果我们使用了QT编写了DLL程序,在普通的windows程序中是不能调用的。在调用的时候会出现错误。当然QT提供了解决方法:那就是QTWinmigrate(这里是QT官方网站对QTWinmigrate的介绍:http://doc.trolltech.com/solutions/qtwinmigrate/winmigrate-walkthrough.html) 下面我来介绍一下使用QTWinmigrate来编写DLLl的方法。 首先,我们要重写DllMain函数: 大家都知道DllMain函数是windows动态库的入口函数,在DLL中使用QT的UI界面之前,必须首先要创建全局的QApplication,并且应用程序必须创建EventLoop。 进入到QmfcApp::pluginInstance方法中去,可以看到:Qapplication被创建了出来。QmfcApp::pluginInstanc是为了保证进程中存在一个Qapplication对象,并且dll要把这个Qapplication的实例加载到内存中。 下面是DLL中的导出函数: DLL中的导出函数,要用extern "C"形式,QwinWidget为native win32窗口提供堆栈等等。 这样还没有写完程序!如果你仔细看qtwinmigrate的example的话,你就会注意到: 编译的时候一定要在*.pro文件中加上这一句!切记,切记!(老汉按:例子中,默认的,Qt是安装在D:\qt4.4.3\目录下)。 [ Last edited by yalefield on 2011-1-30 at 23:52 ] |
» 猜你喜欢
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复












回复此楼