当前位置: 技术问答>linux和unix
QT程序make后出错
来源: 互联网 发布时间:2015-12-25
本文导语: 我尝试用VI写一个 qt.cpp是C语言版本的. $qmake -project $qmake $make $./qt 就可以出现我写的第一个QT程序. 可是我如果将原来的C语言版的QT程序改为C++版本的. make后就出错.提示如下: qt_2.cpp:15:error:ISO C++ forbids defining type...
我尝试用VI写一个 qt.cpp是C语言版本的.
$qmake -project
$qmake
$make
$./qt
就可以出现我写的第一个QT程序.
可是我如果将原来的C语言版的QT程序改为C++版本的. make后就出错.提示如下:
qt_2.cpp:15:error:ISO C++ forbids defining types within return type
qt_2.cpp:15:error:return type specification for constructor invalid
我的qt_2.cpp程序如下.
#include
#include
#include
#include
#include
#include
class MyWidget : public QVBox
{
public:
MyWidget( QWidget *parent=0, const char *name=0 );
};
MyWidget::MyWidget( QWidget *parent, const char *name )
: QVBox( parent, name ) //这就是第15行报错
{
QPushButton *quit = new QPushButton( "Quit", this, "quit" );
quit->setFont( QFont( "Times", 18, QFont::Bold ) );
connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
QLCDNumber *lcd = new QLCDNumber( 2, this, "lcd" );
QSlider * slider = new QSlider( Horizontal, this, "slider" );
slider->setRange( 0, 99 );
slider->setValue( 0 );
connect( slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)) );
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
MyWidget w;
a.setMainWidget( &w );
w.show();
return a.exec();
}
$qmake -project
$qmake
$make
$./qt
就可以出现我写的第一个QT程序.
可是我如果将原来的C语言版的QT程序改为C++版本的. make后就出错.提示如下:
qt_2.cpp:15:error:ISO C++ forbids defining types within return type
qt_2.cpp:15:error:return type specification for constructor invalid
我的qt_2.cpp程序如下.
#include
#include
#include
#include
#include
#include
class MyWidget : public QVBox
{
public:
MyWidget( QWidget *parent=0, const char *name=0 );
};
MyWidget::MyWidget( QWidget *parent, const char *name )
: QVBox( parent, name ) //这就是第15行报错
{
QPushButton *quit = new QPushButton( "Quit", this, "quit" );
quit->setFont( QFont( "Times", 18, QFont::Bold ) );
connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
QLCDNumber *lcd = new QLCDNumber( 2, this, "lcd" );
QSlider * slider = new QSlider( Horizontal, this, "slider" );
slider->setRange( 0, 99 );
slider->setValue( 0 );
connect( slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)) );
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
MyWidget w;
a.setMainWidget( &w );
w.show();
return a.exec();
}
|
你要分为头文件和CPP文件两部分来写才可以
|
wo bian mei you wen ti.
ying gai shi ni huan jin you wen ti ba
ying gai shi ni huan jin you wen ti ba
|
我这编译也可以通过,你能把错误报告发上来看看么?
|
环境有对么,QTDIR.