QWidget: Must construct a QApplication before a QPaintDevice
轉(zhuǎn)自:http://blog.csdn.net/yuzhiyuxia/article/details/7760917
一個(gè)QT程序,在Windows下編譯運(yùn)行正常;現(xiàn)在在Linux下編譯成功之后運(yùn)行的時(shí)候,程序卻異常退出,命令行提示:QWidget: Must construct a QApplication before a QPaintDevice。
字面意思是必須在一個(gè)QPaintDevice對(duì)象(這里是QWidget,QWidget是QPaintDevice的子類)之前,先創(chuàng)建好QApplication對(duì)象。
不可能啊。。。在windows下運(yùn)行是正常的啊!
g了好久,找到一篇文章:http://blog.chinaunix.net/u1/56545/showart.php?id=495687 (轉(zhuǎn)者注:這個(gè)鏈接已經(jīng)用不了)
雖然說是qwt的庫的問題,但是,也可能是因?yàn)閞elease和debug的問題導(dǎo)致的。 因?yàn)槲以趌inux下是用的make all命令編譯出的debug和release版本,二者生成的庫文件的目錄是相同的,很有可能產(chǎn)生相同的庫文件而導(dǎo)致的沖突。(不像qt的dll那樣release的沒有d,debug的有d)
基于此,修改pro文件,將debug和release生成的庫文件放在各自的目錄下,運(yùn)行,ok。
當(dāng)然還有一種可能是QApplication沒有初始化,即將QWidget放在QApplication對(duì)象的前面了。(轉(zhuǎn)者注:貌似我也遇到這種情況)
轉(zhuǎn)載于:https://www.cnblogs.com/pamxy/archive/2013/03/15/2991478.html
總結(jié)
以上是生活随笔為你收集整理的QWidget: Must construct a QApplication before a QPaintDevice的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ-2155 Matrix 二维线段
- 下一篇: 一些数学基本概念