在Ubuntu 16.04 4.4.0-66-generic下使用Qt写一个简单的应用程序:
int main(int argc, char *argv[])
{
QApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
QApplication::setStyle(QStyleFactory::create("plastique"));
QGCCore core(argc, argv);
int val;
val = core.exec();
return val;
}
QGCCore只是继承了QApplication:
class QGCCore : public QApplication
{
Q_OBJECT
public:
QGCCore(int &argc, char* argv[]):QApplication(argc,argv){};
~QGCCore(){};
};
然而,Valgrind告诉我有一个错误:
==3494== Conditional jump or move depends on uninitialised value(s)
==3494== at 0x12CB94BA: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==3494== by 0x95215E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==3494== by 0x953A087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==3494== by 0x953B211: g_signal_emit_by_name (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==3494== by 0x9528B38: g_object_set_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==3494== by 0x9529396: g_object_set (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==3494== by 0x59987A5: ??? (in /home/shupeng/Qt5.6.1/5.6/gcc_64/lib/libQt5Widgets.so.5.6.1)
==3494== by 0x5921D2C: QStyleFactory::create(QString const&) (in /home/shupeng/Qt5.6.1/5.6/gcc_64/lib/libQt5Widgets.so.5.6.1)
==3494== by 0x58B7363: QApplication::style() (in /home/shupeng/Qt5.6.1/5.6/gcc_64/lib/libQt5Widgets.so.5.6.1)
==3494== by 0x58B75C4: QApplicationPrivate::initialize() (in /home/shupeng/Qt5.6.1/5.6/gcc_64/lib/libQt5Widgets.so.5.6.1)
==3494== by 0x58B7613: QApplicationPrivate::init() (in /home/shupeng/Qt5.6.1/5.6/gcc_64/lib/libQt5Widgets.so.5.6.1)
==3494== by 0x4240EE: QGCCore::QGCCore(int&, char**) (QGCCore.cc:51)
==3494== by 0x422D35: main (main.cc:89)
==3494== Uninitialised value was created by a stack allocation
==3494== at 0x9523140: g_cclosure_marshal_VOID__VOIDv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==3494==
==3494== (action on error) vgdb me ...
这是什么问题,我做错了什么?