欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu 命令行编译qt程序

程序员文章站 2022-03-12 17:36:02
...

    关于在uboot安装qt可以参考正点原子的《I.MX6U Qt交叉编译环境搭建V1.0》文档教程,本文的最终目的是实现在ubuntu的命令终端中编译qt程序。

从uboot的终端输入命令:qmake -v,会显示下图的错误:
ubuntu 命令行编译qt程序
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,显示结果如下:说明可以编译程序了
ubuntu 命令行编译qt程序
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
编译是会产生如下错误:
ubuntu 命令行编译qt程序
上图显示没有定义: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》。