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

article/2025/10/3 14:40:03

编译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.”

一、下载源码:

 下载地址: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/bashQT_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 "        # 不编译testsCONFIG_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/bashQTDIR=/usr/local/qt5.14.2_staticPATH=$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


http://chatgpt.dhexx.cn/article/ZuwnVaAR.shtml

相关文章

cocos2d-js 手游解密jsc和http数据aes加密解密分析①

分析流程 1.查看游戏引擎类型 2.安装游戏 3.抓包分析 4.ida分析so文件 5.获取密钥解密 6.分析解密后源码 7.验证分析结果 解密工具:jsc解密1.44.zip-其它文档类资源-CSDN下载cocos-jsc解密加密程序,需知道key,这些可以通过ida或Frida获取,支持最新更多下载资源、学习…

js 加密 为jsc

从Cocos2D-X v2.1.4版本开始,增加了Cocos2D-console命令行工具,该工具的其中一个功能是:把.js文件转换为.jsc文件,该文件是字节码格式,可以提高代码的安全性。 使用这个工具的方式很简单。以引擎自带的TestJavaScript项…

android cocoscreator jsc js 间加解密(六)

前言 前面 学了 aandroid cocoscreator 热更新 超详细篇(五) 这章 主要学习 cocoscreator 构建后 jsc 与js 文件 之间相互转化(加解密)并实际测试. 可以配置cocoscreator热更新使用 1: 准备 win7 64位 cocoscreator2.0.10 &#…

jsc反编译以及二进制修改

参考:https://www.52pojie.cn/thread-814217-1-1.html 最近碰到jsc的游戏,游戏中有跳过功能但有限制,想着对游戏进行修改达到无条件跳过。 首先,反编译jsc文件,使用这个工具https://github.com/irelance/jsc-decompile…

jsc反编译工具编写探索之路

对于经常做游戏安全逆向的读者来说,可能会经常遇到Cocos2dx编写的游戏。这个国产开源的游戏开发引擎支持多种编程语言进行游戏开发:发括主流的C/C/JavaScript/Lua,之前,与大家讨论的Lua软件安全系列的文章,讨论的是采用…

vue.jsc初体验

Vue 1.安装脚手架 (1)npm install -g vue-cli (2)Vue -v //查看是否安装成功 (3)Vue init webpack name(名称) (4)Npm install (5) (6)Npm install (7)Npm run dev 2.用vue构建项目笔记3(引入jquery和bootstrap) 其实用了vue以后,并不建议再去用jquery. vue是视图…

jsc转js工具使用方法

近日难得手闲写了这个小工具,发上来让大家参考参考。之前没有写详细使用说明,这里补一下 进到工具的文件夹下,直接执行exe可以看到要什么参数 这个新弹出的窗口可以直接关闭,这个只是让你看它需要什么参数的 2.所以如果你要解密…

Day07Spark多语言开发

Spark多语言开发 学习目标 1.掌握使用Java语言开发Spark程序 2.了解线性回归算法案例 3.了解使用Python语言开发Spark程序 4.了解决策树分类算法案例 1. JavaSpark 1.1 编程语言说明 Spark 在诞生之初就提供了多种编程语言接口:Scala、Java、Python 和 SQL&#x…

cocos creator jsc 逆向解码为js

cocos creator 下的jsc cocos creator 编译之后的所生成的jsc文件,虽然后缀是jsc,但其实和js虚拟机所执行的字节码(jsc)是二个不同的东西,只是使用xxtea对js文件进行加密而已。xxtea是可逆的,所以cocos creator下的jsc是完全可逆的&#xff…

Cocos2dx-js 资源.jsc和.pkm反编译

.jsc 解密 1. 找到apk里面的libcocos2djs.so. 用编辑器utf-b模式打开 2. 搜索Cocos Game 紧接着的 220404db-d3df-4b 就是密码 3. 使用工具decrypt.exe 即可解密 下载地址:https://download.csdn.net/download/liutietuo/86511410 cocos creator script decrypt version 1.0…

jsc 解码窥探

先使用 JS_DecodeScript反编译jsc 得到AST树 AST树词法解析 http://esprima.org/ AST还原成源码: npm install escodegen AST树遍历:npm install estraverse https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/Byte…

cocos2d-js中jsc逆向为js

1.mac系统 2.安装php7以上的版本 ubuntu $ sudo apt install php7.0 mac $ brew install php7.0 windows just google an binary one 查看php安装的版本这里mac电脑为例子: 输入:php -v 只要7以上的版本即可 3.cd到自己的项目位置 cd path/to/project 安装composer,…

如何设置input默认值

之前聊过input最大字数限制&#xff0c;今天看下如何设置输入框默认值 placeholder属性 如下&#xff1a; <input type"text" maxlength"11" placeholder"名字"/> 输入框展示效果如下&#xff1a;

input标签点击移除默认值

使用onfocus事件检查当前输入框内的值,如果是默认得值,就将value属性置空. <input type"text" value"请输入内容" onfocus"javascript:if(this.value请输入内容)this.value;"> 操作之前: 操作之后:

Python input输入超时选择默认值自动跳过

Python input输入超时选择默认值自动跳过 Python input 等待键盘输入&#xff0c;超时选择默认值&#xff0c;释放input&#xff0c;之后重新进入等待键盘输入状态&#xff0c;直到用户输入可用数据。 一、调用 func_timeout 模块实现超时控制 1、安装 func_timeout 库 pip…

html文本框设置默认值,HTML input文本框设置和移除默认值

这里想实现的效果是&#xff1a;设置和移除文本框默认值&#xff0c;如下图鼠标放到文本框中的时候&#xff0c;灰字消失。 1.可以用简单的方式&#xff0c;就是给input文本框加上onfocus属性&#xff0c;如下代码&#xff1a; οnfοcusif(this.value"请输入关键字进行搜…

使用js代码修改input的默认值

内容&#xff1a;使用js代码来对input设置的默认值进行修改&#xff0c;点击按钮修改input的默认值 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><scrip…

html设置input默认值,使用jQuery给input标签设置默认值

由于项目需求&#xff0c;简单地写了一个input默认值设置&#xff0c;实现给.form中所有的input设置默认值的方法。input默认值设置 $(function() { //集体调用 $(".form input").each(function(){ $(this).setDefauleValue(); }); //单个调用 $("#key").s…

antd 给input设置值_Antd 中 Input 组件默认值的显示

1、input标签中有placeholder可以显示默认值 但是有少量样式的问题(字体颜色会淡一点) placeholder属性 2、用Input组件中的defaultValue属性 defaultValue属性 3、form表单组件中的initialValue参数 注意&#xff1a;当Form组件和Input组件一起用时&#xff0c;defaultValue在…

Ant Design React中 Form.Item 中设置Select,Input.TextArea,Input默认值

<Formref{this.formRef}name"dynamic_rule"initialValues{{ one: 0, two: 0, three: "0", desc:"尝试一下" }}></Form>在Form 使用initialValues{{ name:"value" }}>