QT新手 请大家帮忙解决一个问题 谢谢了

shuishigua 2012-01-08 11:19:49
#include <QCoreApplication>
#include <QObject>
#include <QTimer>


class Test:public QObject{
Q_OBJECT
public slots:
void say();
};


void Test::say(){
qDebug("I am a slots!!!\n");
}



int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug("starting!\n");

QTimer timer;
timer.setInterval(2000);
timer.start();

Test t;

QObject::connect(&timer,SIGNAL(timeout()),&t,SLOT(say()));

return a.exec();
}

请高手帮忙解决这个QT问题 我在QT Creator中的QT4 Console Application中写了这段代码 但是始终提示 “error: collect2: ld returned 1 exit status”
请问要怎么写才正确?谢谢
...全文
193 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
挣扎中前行 2012-01-11
  • 打赏
  • 举报
回复
原来如此
p89787259 2012-01-11
  • 打赏
  • 举报
回复
头文件里Q_OBJECT宏,需要MOC成标准C++代码,再编译,MOC要求函数声明和实现分离。
duyu89757901 2012-01-11
  • 打赏
  • 举报
回复
我也遇到这个问题,但是也不知道为啥。
我的解决办法:将编译工具设置为环境变量 接着就make clean
rm Makefile -rf
qmake
make
./****
就可以了
miseluocha 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jdwx1 的回复:]

头文件里有Q_OBJECT宏,需要MOC成标准C++代码,再编译,MOC要求函数声明和实现分离。
[/Quote]

这是理论指导,不错,又长知识了
su583304195 2012-01-10
  • 打赏
  • 举报
回复
4楼正解
如果要使用信号和槽,Qt类在声明文件中加上Q_OBJECT宏。它包含了实现信号和槽机制所需要的函数之类的东西。类似MFC中消息机制的声明宏。
jdwx 2012-01-09
  • 打赏
  • 举报
回复
头文件里有Q_OBJECT宏,需要MOC成标准C++代码,再编译,MOC要求函数声明和实现分离。
liufei315336300 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 miseluocha 的回复:]
你分成头文件和主文件试试
[/Quote]


这样可以的,我试过了。
kalso4212h2o 2012-01-09
  • 打赏
  • 举报
回复
我也新手,不会解决,帮顶
miseluocha 2012-01-09
  • 打赏
  • 举报
回复
你分成头文件和主文件试试

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧