ubuntu 命令行编译qt程序
关于在uboot安装qt可以参考正点原子的《I.MX6U Qt交叉编译环境搭建V1.0》文档教程,本文的最终目的是实现在ubuntu的命令终端中编译qt程序。
从uboot的终端输入命令: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》。
上一篇: jenkins构建maven项目:找不到本地依赖包
下一篇: jq怎么去掉html标签
推荐阅读
-
在 Ubuntu 开启 GO 程序编译之旅
-
交叉编译并移植tslib-1.21和QT4.8.5运行第一个嵌入式Qt程序
-
C# 命令行编译C#程序问题详解
-
linux学习笔记——在ubuntu系统下编译运行c程序并使用makefile管理项目
-
解决Ubuntu下使用linuxdeployqt打包Qt程序问题
-
qt 旧项目编译运行提示 “启动程序失败,路径或者权限错误?” 原因及解决方法
-
如何在 Ubuntu 上交叉编译 ARM 架构的 CGO 程序
-
ubuntu系统,在终端命令行,有什么下令,可以编辑PHP程序
-
ubuntu14.04交叉编译vlc2.1.5源码,编译出在win32下运行的程序
-
ubuntu系统,在终端命令行调试PHP程序,有什么软件?