| 查看: 896 | 回复: 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 ] |
» 猜你喜欢
26/27申博自荐
已经有10人回复
东北林业大学材料科学与工程学院“一流”A+学科国家级人才团队课题组招收2026级博士生
已经有3人回复
医学类期刊求推荐
已经有5人回复
生活琐事由它去
已经有4人回复
提交了我也来说说感想
已经有12人回复
青B发送上会通知了吗
已经有9人回复
西安交大新媒学院副院长用撤稿论文结题
已经有6人回复
论文撤稿了
已经有8人回复
化学专业申博
已经有4人回复
某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路!
已经有5人回复












回复此楼