| 查看: 914 | 回复: 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 ] |
» 猜你喜欢
面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇!
已经有25人回复
2026年国自然面上资助率
已经有22人回复
面上提前没消息,有中的吗
已经有15人回复
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有12人回复
这种情况还有戏吗
已经有12人回复
微信指数没变化,科研之友没阅读
已经有19人回复
准备明年的基金了
已经有7人回复
2027年申博
已经有3人回复
一个有机合成实验室都需要哪些设备?
已经有7人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复










回复此楼