Ubuntu18静态编译(源码安装)Qt5.9.8

  1. 首先确保电脑有gcc g++环境,如果没有,直接指令
    安装 gcc: sudo apt-get install gcc
    安装g++: sudo apt-get install build-essential
    测试环境:
    gcc --version(-- ,这是两个 - )
    g++ --version

    							图1 gcc  g++ 测试结果
    
  2. 我安装的Qt5.9.8要求有python2环境,为确保在make的时候不报错。(千万不要卸载python3 ,可能你的桌面有一部分是依赖它包含的包,卸载了再重装会附带很多没有的软件,一个字,累,两个字,心累!!!因为这个重装了一次系统)
    可以先测试一下: python -V(大写 -V)
    如果没有以下的测试结果:
    就运行指令:在这里插入图片描述

       							图2 python2测试结果
    
  3. 接下来是Qt开源包下载,官网http://download.qt.io/archive/qt/下载对应的版本就可以了,我下载的是5.9.8。(在所有的包里面,我发现我这个点,5.9.8里面含有opensource的字眼,建议你们下载的包含有这个字眼,避免后面运行程序是platforms出错,链接不到xbc包。如果你们这时候更高版本里面的包,不包含opensource这个名字,也没事,选择对应的版本和平台即可。)
    下载对应的包:
    在这里插入图片描述

    								图3 下载对应的包
    

    选择single:
    在这里插入图片描述

    								图4 选中single
    

    选择含有opensource的包:
    在这里插入图片描述

    		 					图5 选择含有opensource的包
    
  4. 下载完毕后,解压对应的包后,进入里面,运行配置前,需要安装两个包,
    sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
    如果不安装的话,会在后面配置出错,接下来就是配置了,
    在开源包里面运行该指令:
    ./configure --prefix=/usr/local/qt-5.9.8 -qt-xcb
    –prefix是指定文件夹安装的路径,如果不加的话,是默认路径,-qt-xcb是根据在开源包里面,…/Downloads/qt-everywhere-opensouce-src-5.9.8/qtbase/src/plugins/platforms/xcb/README里面说明了,如果未自己安装相关的xbc包,必须声明使用默认的包,
    在这里插入图片描述

    								图6 文档说明
    

(个人觉得如果加上参数 -static不是多此一举吗,明明是静态编译了,还需要说明吗。)
接下去make就可以了,建议 sudo make 比较好,
make 完了,就 sudo make install .
完毕后,进行环境配置:
sudo vim /etc/profile

export QTDIR=/usr/local/qt-5.9.8
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

你要做的就是把QTDIR换成你的安装路径,放在/etc/profile的最后
source /etc/profile
让环境变量立即生效。
可以同用 echo $QTDIR 测试
同样 qmake -v 会显示版本信息
在这里插入图片描述

							图7 安装后的测试结果
  1. 代码测试
	#include <QtWidgets/qapplication.h> //关于头文件,有时候必须制定QtWidgets
   #include <QtWidgets/qlabel.h>

   int main(int argc, char *argv[])
   {
       //创建一个QApplication实例
       QApplication a(argc, argv);
       //创建一个label实例,显示英文
       QLabel  label("Hello Qt");
       //改变label大小
       label.resize(100,50);
       //显示label
       label.show();
       //进入QApplication事件循环
       return a.exec();
     }

qmake -project

修改生成的 .pro 文件,在最后加上
QT += widgets

qmake qttest.pro

在这里插入图片描述

			 						图8 添加位置
  1. 最后 make 一下 运行 ./qttest

  2. 这时候会发现没有字
    代码里面明明要显示字的,结果报错了,查阅官方文档,发现qt不在提供字体,于是到qt-5.9.8的安装目录下
    在这里插入图片描述

    		 					图9 源代码		
    
  3. 在/usr/local/qt-5.9.8/lib下创建文件夹 fonts 把各种字体包放进去就行了
    在这里插入图片描述

查阅更高版本的安装包后,更新一下前面关于开源的静态编译包的下载说法:所有的dependecies都可以通过对应的 包名/qtbase/src/plugins/platforms/xcbREADME 里面找到 -qt-xbc 链接到默认的依赖 不需要必须 opensource 字眼,原文如下:

	The '-qt-xcb' configure option can be used to get rid of most 
	xcb- dependencies. Only libxcb will still be linked dynamically, since it
	 will be most likely be pulled in via other dependencies anyway.This should 
	 allow for binaries that are portable across most modern Linux distributions.
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值