标题:【提问】这个编译错误问题在哪里?请求帮助
作者:looneyxp
日期:2005-11-25 21:55
内容:
#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();
}
error C2664: '__thiscall QPushButton::QPushButton(class QWidget *,const char *)' : cannot convert parameter 1 from 'char [12]' to 'class QWidget *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.
xxx.obj - 1 error(s), 0 warning(s)
#1 [looneyxp 11-25 21:56]
我已经设置好了系统环境变量了,我的qt环境是在sourceforge下载的一个setup-qt-win-free-msvc-3.3.4-3,然后设置include ,lib就可以了啊
#2 [XChinux 11-25 22:01]
error C2664: '__thiscall QPushButton::QPushButton(class QWidget *,const char *)' : cannot convert parameter 1 from 'char [12]' to 'class QWidget *'
这已经很明白地告诉你了,参数错误,
QPushButton的构造函数中,没有你使用的那种匹配。
#3 [looneyxp 11-26 19:54]
是的,哪个例子有错,是针对4.0.1的,在3.3.4下不可以编译通过
但是今天编译说cannot find -lqtmaind,这个是为什么?
我都是按照别人的说明来的啊
#4 [looneyxp 11-26 19:57]
感觉qt4.0.1和qt3.3.4还是相差满大的,以前有人批评说qt对C++新特性比较谨慎,但是看了下,好象最近支持很好的,qt4好象是模板化了它的类库!!不错
#5 [XChinux 11-26 19:57]
can not find -lqtmaind
是说找不到qtmaind这个库,你到QT安装目录下的 lib目录下看看,有没有qtmaind这样的文件(肯定是没有了),
这说明,你现在是以Debug方式编译,而不是Release,所以要连接Qt Debug Library,而默认的是没有安装这个的,所以,你要自己来Build 这个Qt Debug Library,来生成qtxxxd 这样的库文件。