由于个人笔记本是32位,而qt5.8在linux环境下没有相应的安装包,因此需要通过源码进行编译安装。
系统:ubuntu14.04 32位(需要安装gcc);
源码:qt5.8源码
参考:
参考一:【Qt】Ubuntu16.04编译Qt5.8(x86&arm)
参考二:ubuntu14.04编译安装QT5.4
参考三:ubuntu 下源代码编译安装
可以从qt官网获取qt5.8的源码: qt-everywhere-opensource-src-5.8.0.tar.gz.
cd到源码压缩包所在的文件夹,使用tar命令进行解压:
tar -xvzf qt-everywhere-opensource-src-5.8.0.tar.gz
sudo apt-get install libqt4-dev
一共有五部分需要安装的,可一次完成:
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
为了编译源代码包,需要先安装几个ubuntu的工具包,包括:
sudo apt-get install build-essential checkinstall
至此源码编译的准备工作已经完成,可以开始进行编译。
cd进入第一步中源码压缩包的解压目录,分别执行下面的两行命令:
./configure -release -opensource -confirm-license -prefix /usr/local/Qt-5.8.0-x86
make -j4
根据参考一,其在这一步所使用的命令为:
./configure -release -opensource -confirm-license -prefix /opt/Qt-5.8.0-x86 -nomake -examples -nomake -tests
经查找别的资料,大概判断命令最后增加的编译参数 -nomake -examples -nomake -tests可以使编译时间大幅缩短(大约需要两三个小时)。不过在我的安装过程中,使用这个命令并未成功,因此使用了本节刚开始的耗时很长的编译命令,最后成功编译。
编译过程结束后(bash的命令提示符出现),执行以下命令进行安装:
sudo make install
安装完成后测试qmake是否可用:
qmake -v
写一个简单的qt界面工程对安装的qt进行测试。
首先是自定义类ClassName的头文件:
#ifndef CLASSNAME_H
#define CLASSNAME_H
#include
#include
class ClassName:public QWidget
{
Q_OBJECT
public:
QLabel *lb;
public:
ClassName(QWidget *parent = 0);
~ClassName();
};
#endif
然后是该类的实现:
#include "classname.h"
ClassName::ClassName(QWidget *parent)
:QWidget(parent)
{
lb = new QLabel(this);
lb->setText("create by ubuntu");
lb->setGeometry(100,100,100,100);
}
ClassName::~ClassName()
{
}
然后是main函数:
#include "classname.h"
#include
int main(int argc, char *argv[])
{
QApplication a(argc,argv);
ClassName w;
w.show();
return a.exec();
}
最后是其pro文件,最后的CONFIG参数设置将项目编译成debug模式:
QT += core gui
greaterThan(QT_MAJOR_VERSION,4):QT += widgets
TARGET = mypro
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += main.cpp\
classname.cpp
HEADERS += classname.h
CONFIG += qt debug
执行qmake生成MakeFile文件:
qmake mypro.pro
执行make,生成可执行文件mypro:
make -f MakeFile
运行mypro,运行结果如下图所示:
./mypro