| 查看: 881 | 回复: 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 ] |
» 猜你喜欢
265求调剂
已经有9人回复
085600材料与化工调剂
已经有20人回复
专硕 351 086100 也是考的材科基 本科也是材料
已经有6人回复
085600专硕材料与化工348分求调剂
已经有10人回复
085600 295分求调剂
已经有21人回复
285求调剂
已经有5人回复
一志愿安徽大学0817化学工程与技术,求调剂
已经有9人回复
一志愿0817化学工程与技术,求调剂
已经有8人回复
271分求调剂学校
已经有3人回复
生物学308分求调剂(一志愿华东师大)
已经有7人回复














回复此楼