当前位置: 技术问答>linux和unix
tmake编译QT源文件提示:invalid conversion from `int' to `Display*'
来源: 互联网 发布时间:2016-03-06
本文导语: 我用tmake-1.13.tar.gz、qt-embedded-2.3.7.tar.gz、qt-x11-2.3.2.tar.gz三个文件在Redhat9里配置了QT/E编译环境后,然后试一下tmake编译下自己编辑的QT程序时,编译失败。被编译文件如下: //hello.cpp #include #include int main(int argc,char...
我用tmake-1.13.tar.gz、qt-embedded-2.3.7.tar.gz、qt-x11-2.3.2.tar.gz三个文件在Redhat9里配置了QT/E编译环境后,然后试一下tmake编译下自己编辑的QT程序时,编译失败。被编译文件如下:
编译过程和产生错误我贴在了下面:
[root@localhost qts]# ls
hello.cpp
[root@localhost qts]# vi hello.cpp
[root@localhost qts]# progen -o main.pro
[root@localhost qts]# tmake main.pro -o Makefile
[root@localhost qts]# make
g++ -c -pipe -Wall -W -O2 -DNO_DEBUG -I/usr/lib/qt-3.1/include -o hello.o hello.cpp
hello.cpp: In function `int main(int, char***)':
hello.cpp:6: invalid conversion from `int' to `Display*'
hello.cpp:6: initializing argument 1 of `QApplication::QApplication(Display*,
long unsigned int, long unsigned int)'
hello.cpp:6: invalid conversion from `char***' to `long unsigned int'
hello.cpp:6: initializing argument 2 of `QApplication::QApplication(Display*,
long unsigned int, long unsigned int)'
make: *** [hello.o] Error 1
我就没搞清invalid conversion from `int' to `Display*'是怎么回事,有谁知道问题所在,告诉兄弟一声,兄弟都郁闷了半天了,呵呵……
//hello.cpp
#include
#include
int main(int argc,char **argv[])
{
QApplication app(argc,argv);
QLabel *hello=new QLabel("Hello QT/Embedded!"'0);
app.setMainWidget(hello);
hello->show();
return app.exec();
}
编译过程和产生错误我贴在了下面:
[root@localhost qts]# ls
hello.cpp
[root@localhost qts]# vi hello.cpp
[root@localhost qts]# progen -o main.pro
[root@localhost qts]# tmake main.pro -o Makefile
[root@localhost qts]# make
g++ -c -pipe -Wall -W -O2 -DNO_DEBUG -I/usr/lib/qt-3.1/include -o hello.o hello.cpp
hello.cpp: In function `int main(int, char***)':
hello.cpp:6: invalid conversion from `int' to `Display*'
hello.cpp:6: initializing argument 1 of `QApplication::QApplication(Display*,
long unsigned int, long unsigned int)'
hello.cpp:6: invalid conversion from `char***' to `long unsigned int'
hello.cpp:6: initializing argument 2 of `QApplication::QApplication(Display*,
long unsigned int, long unsigned int)'
make: *** [hello.o] Error 1
我就没搞清invalid conversion from `int' to `Display*'是怎么回事,有谁知道问题所在,告诉兄弟一声,兄弟都郁闷了半天了,呵呵……
|
QApplication app(argc,argv);
//// 参错不匹配啊!!!
编译器期待的参数是: Display*, long unsigned int, long unsigned int
而你只给了两个参数,而且你给的第一个参数是 int 型. 第二个参数要求一个 long unsighned int,你又给了个char (*)[] 型.. 第三个参数没给出.
错的不要太远哦。
//// 参错不匹配啊!!!
编译器期待的参数是: Display*, long unsigned int, long unsigned int
而你只给了两个参数,而且你给的第一个参数是 int 型. 第二个参数要求一个 long unsighned int,你又给了个char (*)[] 型.. 第三个参数没给出.
错的不要太远哦。
|
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}