求助各位:报错collect2.exe:error:lid returned 1 exit5 exit status

Linux(18)
qt学习(15)
在Linux下运行qt程序make时遇到错误collect2:ld returned 1 exit status。在网上求解的时候有人总结说大致可能是三种错误,如下:
1.编译成功的例子在后台执行,有时一闪而过,如果再次build ,则会提示上述错误
解决方法:打开任务管理器,找到相应的exe进程,关闭即可;&&或者直接关闭QtCreator。
2.没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了
解决方法:细心查找基类所用的头文件,include之后即可。
3..h文件中相关的槽函数在cpp文件中没有定义
解决方法:查找遗漏的槽函数,根据需要,具体的定义。
以上三点来自引用,出处:.cn/s/blog_8ce141f70101pdl8.html
但是我编写的程序既没有定义信号槽,也没有预先运行,所以错误的出处不在这三点之中。然后我把makefile文件删除重新生成编译,但是还是出现相同的错误。但是后来发现,虽然我的程序中没有定义信号和槽函数,但是我使用了宏定义Q_OBJECT,然后放在一起查找,发现果然是这里的问题。但是这是为什么呢,有宏定义又有什么关系呢?Qt的
Q_OBJECT宏由预处理器展开,这个宏里面生命了几个由moc实现的成员函数,如果你没有运行moc程序,或者在链接程序中没有包含moc程序的输出文件,那么就有可能会导致
题目中所出现的错误了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:30110次
排名:千里之外
原创:67篇
转载:13篇
(1)(3)(27)(10)(2)(5)(8)(1)(7)(7)(10)2013年8月 移动平台大版内专家分月排行榜第二2013年4月 移动平台大版内专家分月排行榜第二
2013年5月 移动平台大版内专家分月排行榜第三
2013年8月 移动平台大版内专家分月排行榜第二2013年4月 移动平台大版内专家分月排行榜第二
2013年5月 移动平台大版内专家分月排行榜第三
2013年8月 移动平台大版内专家分月排行榜第二2013年4月 移动平台大版内专家分月排行榜第二
2013年5月 移动平台大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。QT错误:collect2:ld&returned&1&exit&status&(简单总结)
1.编译成功的例子在后台执行,有时一闪而过,如果再次build ,则会提示上述错误。
解决方法:打开任务管理器,找到相应的exe进程,关闭即可;&
或者直接关闭QtCreator。
2.没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了
解决方法:细心查找基类所用的头文件,include之后即可。
3..h文件中相关的槽函数在cpp文件中没有定义
解决方法:查找遗漏的槽函数,根据需要,具体的定义。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 ld returned 1 exit 的文章

 

随机推荐