ubuntu20.04编译安装qt5.14.2和qtcreator4.12.0

编译qt5.14.2

本来编译安装的是qt5.15.2,编译安装ok,一切就绪,安装qtcreator安装后一直报错,“以下插件有错误,无法载入:QmlDesigner  QmlProfiler  ,插件初始化失败:cannot Create OpenGL context “编译也一直没过。

pycharm编译报以下错误,有的说是Qt的问题,我就尝试换个Qt版本试试。

“qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, webgl, xcb.”

ubuntu20.04编译安装qt5.14.2和qtcreator4.12.0_第1张图片

一、下载源码:

 下载地址:http://download.qt.io/archive/qt/
选择single版本的qt-everywhere-src-5.14.2.tar.xz下载。
在Ubuntu环境下解压(注意不要解压到有中文的路径下)。
解压命令 tar -xvf qt-everywhere-src-5.14.2.tar.xz

二、安装必备组件(我电脑上已经安装,没具体试)

sudo apt-get install build-essential gcc g++ cmake libxkbcommon-x11-dev libgl1-mesa-dev libglu1-mesa-dev libfontconfig1-dev libmysqlclient-dev libxcb-xfixes0-dev libxcb-util-dev

三、编译源码

进入Qt源码根目录,编写autoConfigure.sh配置脚本:

touch autoConfigure.sh # 创建配置脚本
gedit autoConfigure.sh # 编辑脚本文件

填入以下内容

#! /bin/bash

QT_INSTALL_PATH="-prefix /usr/local/qt5.14.2_static"     # Qt安装路径(自己对应修
改)
QT_COMPLIER+="-platform linux-g++"  # 编译器

CONFIG_PARAM+="-static "               # 静态编译
CONFIG_PARAM+="-release "             # 编译release
CONFIG_PARAM+="-recheck-all "
CONFIG_PARAM+="-nomake examples "    # 不编译examples
CONFIG_PARAM+="-nomake tests "        # 不编译tests

CONFIG_PARAM+=" -qt-xcb -xkbcommon -fontconfig -sql-mysql -qt-zlib -qt-libpng -qt-libjpeg "

# 选择Qt版本(开源, 商业), 并自动确认许可认证
CONFIG_PARAM+="-opensource "         # 编译开源版本, -commercial商业版本
CONFIG_PARAM+="-confirm-license "      # 自动确认许可认证

echo "./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH"
./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH

执行如下命令开始配置和编译:

chmod +x autoConfigure.sh
./autoConfigure.sh
make -j8 # 依据机器性能不同,耗时不一样

sudo make install

错误:

1.提示找不到python (忘了具体的报错),因为默认是python3,所以命令python提示找不到,解决办法

sudo apt install python-is-python3

2.desc:  undefined reference to `JSC::Yarr::wordcharCreate()

网上参考答案:意思就是删除这个文件“RegExpJitTables.h”

got the same issue, here is my solution :

in "qt\qtdeclarative\src\qml", check the file "RegExpJitTables.h"
if it's empty, delete it (it's autogenerated with python)

check that python is in you PATH and INCLUDE environment variable (if it was not the first time, that's why you file was generated empty, but won't be generated again if you do not delete it).

执行命令:

sudo rm /home/firefly/Downloads/qt-everywhere-src-5.14.2/qtdeclarative/src/qml/.generated/RegExpJitTables.h

四、配置环境变量脚本\查看版本(每次使用都要source)

方法(1):

touch qtEnvironment.sh
gedit qtEnvironment.sh

填入以下内容 

#! /bin/bash

QTDIR=/usr/local/qt5.14.2_static

PATH=$QTDIR/bin:$PATH     
MANPATH=$QTDIR/doc/man:$MANPATH     
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH     

export QTDIR PATH MANPATH LD_LIBRARY_PATH

查看版本

chmod +x qtEnvironment.sh
source qtEnvironment.sh
qmake -v

出现qmake版本号为5.14.2,即可正常使用(每次使用前都需要source一次环境变量脚本),如下所示:

QMake version 3.1
Using Qt version 5.14.2 in /usr/local/qt5.14.2_static/lib

方法(2):

安装完成后我们测试下qmake是否可用:如果没错输出如上

/usr/local/qt5.14.2_static/bin/qmake -v

将Qt 5.14.2 设置为默认的Qt 版本

sudo vim /usr/share/qtchooser/qt5-aarch64-linux-gnu.conf

将下面两行代码保存到文件中:

/usr/local/qt5.14.2_static/bin
/usr/local/qt5.14.2_static/lib

然后修改下.bashrc文件

vim ~/.bashrc

在文件的最后增加下面一行内容:

export QT_SELECT=qt5-aarch64-linux-gnu.conf

然后使设置生效
source ~/.bashrc

然后我们再测试一下,直接测试qmake,不带路径,看看能不能够正确输出:

qmake -v

编译qtcreator4.12.0

1.解压、创建编译文件夹

tar -xvf qt-creator-opensource-src-4.12.0.tar.xz  #解压
mkdir build
cd build

2.编译

qmake -r ../qt-creator-opensource-src-4.12.0
make -j8

3.安装

make install

4.创建快捷方式

sudo cp /share/applications/org.qt-project.qtcreator.desktop /usr/share/applications/

5.测试

cp qt-everywhere-src-5.14.2/qtbase/examples/opengl/2dpainting/ ./ -r


参考链接:

linux-ubuntu静态编译Qt-5.14.2成功案例_MoDa_Li的博客-CSDN博客

Ubuntu 20.04 静态编译QT5.14.2_Alderaan的博客-CSDN博客_ubuntu 编译qt源码

如何在树莓派上编译Qt 5.14.2 和 Qt Creator 4.12

你可能感兴趣的:(Ubuntu,qt,开发语言)