32位ubuntu14.04编译安装Qt5.8

32位ubuntu14.04编译安装Qt5.8

  • 准备
    • 一、获取qt5.8源码并解压备用
    • 二、安装gl库
    • 三、安装xcb库
    • 四、安装工具包
    • 五、编译安装
    • 六、其他
    • 七、测试

准备

由于个人笔记本是32位,而qt5.8在linux环境下没有相应的安装包,因此需要通过源码进行编译安装。
系统:ubuntu14.04 32位(需要安装gcc);
源码:qt5.8源码
参考
参考一:【Qt】Ubuntu16.04编译Qt5.8(x86&arm)
参考二:ubuntu14.04编译安装QT5.4
参考三:ubuntu 下源代码编译安装

一、获取qt5.8源码并解压备用

可以从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

二、安装gl库

sudo apt-get install libqt4-dev

三、安装xcb库

一共有五部分需要安装的,可一次完成:

  • ‘^libxcb.*-dev’
  • libx11-xcb-dev
  • libglu1-mesa-dev
  • libxrender-dev
  • libxi-dev
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev

四、安装工具包

为了编译源代码包,需要先安装几个ubuntu的工具包,包括:

  • build-essential
  • checkinstall
sudo apt-get install build-essential checkinstall

五、编译安装

至此源码编译的准备工作已经完成,可以开始进行编译。
cd进入第一步中源码压缩包的解压目录,分别执行下面的两行命令:

./configure -release -opensource -confirm-license -prefix /usr/local/Qt-5.8.0-x86
make -j4
  • 其中-prefix 参数表示qt会安装到目录:/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
  • 如果执行结果没有显示出qmake的相应版本信息,则可能是环境变量的配置问题(我安装完成后是不需要配置环境变量的)。
  • 配置环境变量可以根据参考二对 .bashrc文件和/etc/profile文件进行修改。

七、测试

写一个简单的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

你可能感兴趣的:(Linux,Qt)