源作者:疯狂写Bug
ubuntu编译运行c程序关于在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#includeint 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》。