关于在ubuntu安装qt可以参考正点原子的《I.MX6U Qt交叉编译环境搭建V1.0》文档教程,本文的最终目的是实现在ubuntu的命令终端中编译qt程序。
从ubuntu的终端输入命令:qmake -v
,会显示下图的错误:
1.修改/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
把default.conf
文件中的:
/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu
修改为:
/opt/Qt5.5.1/5.5/gcc_64/bin
/opt/Qt5.5.1/5.5/
注:本人qt安装在ubuntu的/opt/
目录下,安装qt的版本是Qt5.5.1。
修改保存后,在中终端重新输入命令:qmake -v
,显示结果如下:说明可以编译程序了
2.编写一个简单的qt程序(helloqt.cpp
),用于测试:
#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
int main(int argc,char **argv)
{
QApplication a(argc,argv);
QLabel label(QLabel::tr("Helle Qt!"));
label.show();
return a.exec();
}
3.编译helloqt.cpp
程序:
ubuntu命令模式编译qt程序分为以下几个步骤:
(1) 切换到helloqt.cpp
文件所在的目录:cd /home/book/works/qt/helloqt
(注:本人的helloqt.cpp
文件放在/home/book/works/qt/helloqt
目录下)
(2) 生成.pro
工程文件:qmake -project
(3) 生成Makefile
文件:qmake helloqt.pro
(4) 编译:make
编译是会产生如下错误:
上图显示没有定义:QApplication::QApplication(int&, char**, int)
等,最后通过参考网上的一些帖子才得知是.pro
文件里缺少了QT+=widgets
。
在.pro
添加QT+=widgets
的方法有两种: ①直接打开.pro
文件,在最前面添加;
② 在生成.pro
文件的命令qmake -project
改为qmake -project "QT+=widgets"
最后,关于QT+=widgets
的作用,可以参考《Qt 编程指南》的2.2.3节《使用qmake》。