我使用VS10+QT4.7.4
(QT库是我用VS10静态编译的)
现在我新建一个Qt Library工程生成一个DLL,DLL里面是一个继承自QWidget的类A
之后我在另一个exe工程中静态调用该DLL
但是每次都出现QWidget: Must construct a QApplication before a QPaintDevice!
如果哪位有和我一样环境的麻烦帮我试一下,我搞了一天还是不对.项目很急.
哪位大神帮忙解答一下
注:我把静态库换成同样自己用VS10编译的动态库,就不会出现问题.
但是我必须是用静态库,项目不能带着DLL走.
万分感谢!
------解决方案--------------------
用这个应该可以。
http://qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtwinmigrate
你是动态库里含有Qt界面类么?然后exe要使用该动态库中的界面类吧?
我最近也挺头痛这个问题的,你也可以试试在动态库加载的时候new个QApplication,或者直接用qtwinmigrate。
------解决方案--------------------
可能和你的链接方式有关系吧,从来没尝试过静态链接Qt库...