【QT源码编译】Linux下编译QT源码

本文以Qt5.12.8为例,且Qt解压到 ~/目录下,相关部分需要修改

0.安装g++
sudo apt-get update
sudo apt-get install g++

检查是否安装成功

g++ --version

1.下载解压源码

在压缩源文件目录所在位置输入如下解压命令:
sudo xz -d qt-everywhere-src-5.12.8.tar.xz 
sudo tar -xvf qt-everywhere-src-5.12.8.tar


2.解压完成后安装编译所需依赖的库
1)基础编译环境
sudo apt-get install libxcb-xinerama0-dev     
sudo apt-get install build-essential perl python git
2)安装编译libxcb的依赖

安装命令如下:
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

3)安装编译Qt Webkit的依赖

安装命令如下:
sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

4)安装编译Qt WebEngine的依赖

安装命令如下:
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst

-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison

5)安装编译 Qt Multimedia 的依赖(会报错,不用管)

安装命令如下:
sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

6)安装编译QDoc的依赖

安装命令如下:
sudo apt-get install libclang-6.0-dev llvm-6.0

7)安装clang-8编译工具用于编译C/C++程序源码

安装命令如下:
sudo apt-get install clang-8

8)安装ninja编译工具

安装ninja编译依赖命令:
sudo apt-get install re2c

3.进入qt源码目录

./configure -prefix ~/qt5.12.8 -no-opengl -webengine-proprietary-codecs -qt-xcb

4.make && make install
5.配置环境变量

sudo vi /etc/profile
添加
export QTDIR=~/qt5.12.8
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

刷新环境变量,使其生效

sudo source /etc/profile

如果报错找不到source,切换为root用户在进行刷新

6.编译中可能遇到的问题

(1)出现error: ‘SIOCGSTAMP’ undeclared (first use in this function); did you mean ‘SIOCGARP’

解决方法:

在qt源码中搜索socketcanbackend.cpp,在头文件中添加#include <linux/sockios.h>

(2)qtdeclarative发生错误:building qtqml requires python,系统是ubuntu18.04,安装有python2,修复需要做2步:

a.用nano或者vi修改别名文件

$vi .bashrc

b.添加别名

alias python=python2

c.保存后,输入下面命令生效

$ source .bashrc

这个时候python已经能打印信息了

d.编译依然有错误,复制python2文件夹为python。

先查询python2路径,命令:

$ which python2

$ sudo cp /usr/bin/python2 /usr/bin/python

libdrm库
sudo apt-get install libdrm-dev

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值