Linux下Qt的make编译出现大量错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下Qt的make编译出现大量错误相关的知识,希望对你有一定的参考价值。

源代码:
#include<QApplication>
#include<QPushButton>
int main(int argc,char* argv[])

QApplication app(argc,argv);
QPushButton b("Hello,world");
b.show();
QObject::connect(&b,SIGNAL(clicked()),&app,SIGNAL(quit()));
return app.exec();


就是刚开始学习Qt的 之前用的windows下的一切还蛮好的,就是在Linux下安装之后,环境也都配好了,cpp文件的Makefile文件都生成了,简单的helloworld的程序(这个程序自身觉得不应该出问题的)make编译生成可执行文件的时候就出错了,希望路过知道的可以多多给予提示……谢谢

你上面的问题是的链接库的和路径没设置好
export QTDIR=/home/lin/hisi/qt-embedded-4.5.2
export PATH=$QTDIR/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
类似上面,把相应的路径修改下,在终端中运行,然后编译就可以通过了
不过建议:
linux下,可以安装个QT Creator开发工具 ,这样子可以方便很多
参考技术A 因为你是在终端下面编译的,WIN下,你是在Qt Creator编译的对吧。。。
你的终端的ENV没有设置好。。
还有就是楼上那同学说的,quit()是槽,不是信号。。。
参考技术B 同在linux下, Qt 4.8按同样步骤执行,没有上述错误。

1. 检查Qt安装是否正确:

cd /usr/local/Trolltech/Qt-4.7.4/include/QtGui
看是否有名字为QApplication的文件,内容应该是:

#include "qapplication.h"

2。代码写错,第二个SIGNAL(quit())改成SLOT(quit())追问

Qt4版是可以这么写的。。。

追答

一点没错,如果你说得是.h, QT4版就是应该这样写的,不加h。但是你SLOT写成SIGNAL是错的。

(实际上qt是通过用QApplication这样一个文件做为桥梁, 实际include .h, 代码中无须写.h. )。
出现找不到错误,最直接的原因就是在这里。

参考技术C undefined reference to 'XXX'是没有链接相应的库造成的错误,添加这个库就可以了,也可能是路径不正确造成的。

PS:楼主如果附上平台、背景及操作过程等等信息的话,效果可能会更好一些,因为只看到一大堆错误信息,实在不知道确切的问题。追问

下次记着了 嘿嘿

基于IMX53(freescale) ARM架构平台, Ubuntu20.xx版本下交叉编译Qt4.8.7

文章目录

以上是关于Linux下Qt的make编译出现大量错误的主要内容,如果未能解决你的问题,请参考以下文章

紧急求助,关于arm版本下QWT库移植出现的错误

linux下 用qt creator 编译程序 提示错误,请高手指导

qt4:windows编译mysql5驱动程序最后mingw32-make 出现以下错误,怎么解决

基于IMX53(freescale) ARM架构平台, Ubuntu20.xx版本下交叉编译Qt4.8.7

基于IMX53(freescale) ARM架构平台, Ubuntu20.xx版本下交叉编译Qt4.8.7

关于qt项目的问题