deepin(深度)系统下qt5.12.0的程序打包发布到linux云服务器上
做项目时要求,要求做一个用于QT客户端更新提供更新的服务器,服务器弄好啦,要测试一下,在发布时,发现了一些问题,在此记录一下。
这个打包和我的前一篇博客步骤一样,打包可参考https://blog.csdn.net/qq_44667165/article/details/127609929
打包好后,我把服务程序上传到我的阿里云服务器上,我的云服务器是ubantu20.04的命令行界面,内存只有2G,没有图形界面,比较轻便,没有图形界面,系统资源的消耗小,所以一般服务器不搞图形界面,方便远程命令操控
然后我在云服务器上运行时,提示
Could not load the Qt platform plugin "xcb" in "" even though it was found
这是什么意思呢?
我查了一下,xcb在Qt里是图形界面必须要加载的模块,这里卡了我,一时没有头绪,因为我的服务器是没有加载图形界面的,怎么会这样呢?
后面想了想,既然需要图形模块来加载的话,应该但是我的服务器没有图形界面,加载不了可执行程序里面要依赖的图形库,也就是GUI界面。
我去打包的lib目录看了一下
看到33个库文件,有几个我熟悉的GUI库文件,XCB,Widget,其他的不怎么认识,肯定还有,因为加载图形界面是比较耗资源的,需要很多库的协同加载
为什么有那么多图形库呢,想到这里,我就去我的源代码那里看了下,去Qt的.pro文件看了看,虽然我有QT -= gui的配置,但是认真看了下,还有这个 QT += widgets,这个就是图形模块了,注释了之后,程序也报错了
QApppliCation是需要GUI支持的,关系如下
QApplication继承了QGuiApplication类,而QGuiApplication继承了QCoreApplication类,而QCoreApplication又继承QObject的
QCoreApplication定义在core模块中,为应用程序提供了一个非gui的事件循环,QGuiApplication定义在gui模块中,提供了额外的gui相关的设置,比如桌面设置,风格,字体,调色板,剪切板,光标;QApplication定义在widgets模块中,是QWidget相关的,能设置双击间隔,按键间隔,拖拽距离和时间,滚轮滚动行数等,能获取桌面,激活的窗口,模式控件,弹跳控件等
到此原因就很明朗了,把有关GUI的模块全部去掉即可,使用纯命令行模式的QCoreApplication即可,
这样子,然后重新编译,把之前打包好的文件全部删掉,重新打包一遍
然后再次进入到打包好的lib目录下:
此时只有14个库文件了,之前有GUI的有33个库文件,少了一倍多,当然程序打包时,大小也少了查不多一倍。所以服务器为什么不搞GUI的原因之一,耗资源
重新上传服务器,配置好,就没有问题了,运行,没有报错了,搞定!!!
服务器一般只搞命令行界面的,里面除了程序外,日志模块必不可少,各种类型的日志文件是排查程序问题的重要途径。服务器一般部署在一个独立的主机上,可以随时ssh等方式远程控制。
相关文章:
正则表达式的常见语法
目录 一、基本的正则表达式语法 1.1 字符类 1.2 单个字符的特殊表示 1.3 量词表示 1.4 边界匹配 1.5 分组与捕获 二 、java中的使用 在Java中使用正则表达式进行字符串匹配可以说是一个很重要的技能,尤其对于需要进行文本处理或者字符替换的程序来说࿰…...
PHP源码_最新在线工具箱网站系统源码
项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…...
Github 2024-04-30 Python开源项目日报 Top10
根据Github Trendings的统计,今日(2024-04-30统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1稳定扩散Web UI 创建周期:512 天开发语言:Python协议类型:GNU Affero General Public License v3.0Star数量:1…...
SystemVerilog -- 2.8 Data Types ~ SystemVerilog Array Manipulation
SystemVerilog Array Manipulation SystemVerilog 中有许多内置方法,可帮助数组搜索和排序。 数组操作方法只需循环访问数组元素,每个元素都用于计算子句指定的表达式。迭代器参数指定一个局部变量,该变量可在表达式中用于引用迭代中的当前元素。如果未提供参数,item是默认…...
等保保护测评试题中
二、多选题 1、防火墙提供的接入模式中包括(ABCD) A.网关模式 B.透明模式 C.混合模式 D.旁路接入模式 2、不同设VLAN之间要进行通信,可以通过 .(AB) A.交换机 B.路由器 C.网闸 D.入侵检测 E.入侵防御系统…...
go的grpc的三种流模式通信
go的grpc的三种流模式通信 1、grpc通信模式简介2、stream.proto文件3、服务端代码 server.go4、客户端代码client.go5、测试说明 1、grpc通信模式简介 grpc的数据传输可以分为4种模式: 简单模式 (一元调用) 服务端流模式 (服务端返回实时股票数据给前台) 客户端流模…...
deepin(深度)系统下qt5.12.0的程序打包发布到linux云服务器上
做项目时要求,要求做一个用于QT客户端更新提供更新的服务器,服务器弄好啦,要测试一下,在发布时,发现了一些问题,在此记录一下。 这个打包和我的前一篇博客步骤一样,打包可参考https://blog.csd…...
精读大型网站架构:前端架构模块化的方法及困境,自研框架Trick
模块化的方法 网页和网页之间有很多相似或者相同的模块,模块化就是把这些模块抽离并独立管理。而模块化的方法,就是把模块的HTML、CSS和JavaScript文件独立出来,然后通过某种方法关联到使用这些模块的网页上。 在介绍模块化的具体方法之前&…...
用Python实现的这五个小游戏,你真的学会了嘛?
游戏名称1、五子棋 2、雷霆战机 3、贪吃蛇 4、坦克大战 5、俄罗斯方块 开发环境 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 一&am…...
linux环境下查询主板、CPU、内存等硬件信息
文章目录前言dmidecode常用参数-t参数测试-q参数测试-s参数测试总结前言 如果是在windows系统下,查询电脑硬件会容易的多,可以通过电脑属性、计算机管理等多种图形化界面中查到,如果安装了各种电脑管家,那查询这类信息就更方便了…...
查看日志.
如果查看比较小的日志文件:cat xxx.log 一般常用:view xxx.log/vi xxx.log查找关键字,如“木叶”:编辑,/木叶,确定,然后按“n”键就能往下找。 如果想往上找,输入:$到最后一行&#…...
vue3 生命周期函数,都改了啥?
vue2到3常用生命周期钩子函数的变化 Ⅰ. 实例化 和 数据初始化 (beforeCreate,created > setup) 1. new Vue 从开始 > 结束 [vue2和3 、两版本区别处] vue2的写法> export default {beforeCreate(){console.log(vue的实例 还没ne…...
基于springboot的医院管理系统
项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里,你想解决的问题࿰…...
Django + Nginx https部署实战(第一辑)
WebServer和WebAPP 之前对于nginx的了解都只是听说,根本就不知道nginx对于整个网站的作用。经历了数个项目之后,我本人逐渐对nginx有了更深入的了解,也希望把这段经历拿出来分享给大家! 由于我本人之前接触的都是Python的Django…...
Pycharm+服务器运行代码
Pycharm服务器运行代码服务器的连接与Anaconda环境配置ssh连接安装Anaconda创建虚拟环境安装代码所需的库Pycharm上传代码到服务器服务器的连接与Anaconda环境配置 ssh连接 我使用的是MobaXterm,新建一个会话,选择SSH,输入主机IP地址自己的…...
【Spring】IDEAspring-mybatis的整合----关于配置文件的整合
文章目录spring-mybatis的整合过程步骤1.导包,spring的jar包,mybatis的jar包2.mybatis.xml配置3.spring-mybatis.xml配置4.dao、service层、代码测试spring-mybatis的整合过程步骤 1.导包,spring的jar包,mybatis的jar包 <!--统…...
ssm技术
ssm ssm框架配置 maven项目–》webquickstart pom文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…...
MQ消息队列
MQ消息队列 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列 消息队列是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件 使用消息队列还可以实现异步处理 下图便是消息…...
【JVM技术专题】精心准备了一套JVM分析工具的锦囊「JConsole补充篇」
前提概要 本篇文章主要针对于之前本系列文章的补充版,之前落下了Jconsole分析工具,所以为了了却这个遗憾,所以小编又开了这篇文章,主要针对于Jconsole工具进行相关的应用性能分析。 初识JConsole 【Jconsole(Java Moni…...
基于PHP的高效协同办公管理系统
有需要请私信或看评论链接哦 可远程调试 基于PHP高效协同办公管理系统一 介绍 高效协同办公管理系统基于Yii框架开发,数据库mysql,可以稳定用于商业以及门户级的开发和使用。 二 系统功能 用户 1 办公门户(邮件/日志/汇报/日程/信息中心/通知公告/微博…...
第十四届蓝桥杯(Web应用开发)模拟赛1期-大学组
数据类型检测 请看这篇数据类型检测 渐变色背景生成器 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name&…...
【遥感科学】遥感科学绪论
第一章 绪论 本系列适用于梅安新老师的遥感导论复习,也可以作为遥感领域的快速入门文章 一、遥感的基本概念 啥子是遥感?借用童庆禧院士的理解,那就是欲穷千里目,更上一层楼,遥感可以看做人的眼睛或者感知的延伸&…...
Tensorflow图像识别 Tensorflow手写体识别(二)
资源介绍 我们从 MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 这条链接(MNIST官网)中下载好数据集,如下: 下载下来以后整理成包含四个压缩包的文件MNIST_data(不要解压&#x…...
盘点上海IB国际学校,你会选哪一所呢?
之前,小编给大家盘点了上海热门的AP学校和Alevel学校,同时也介绍了国际课程的具体情况;今天就和大家聊聊上海的IB国际学校。IB即是国际文凭组织IBO(International Baccalaureate Organisation)为全球学生开设从幼儿园到大学预科的课程&#x…...
设计模式:建造者模式
目录 一,概念 二,不使用建造者有什么麻烦 三,格式 一,概念 建造者模式(Builder Pattern)是一种创建型设计模式,用于将复杂对象的构建与其表示分离,以便同样的构建过程可以创建不同…...
.区间合并.
区间合并,就是让我们寻找合并之后的区间总数。 两种情况:一、上一区间的右端点小于下一区间的左端点,那么上一区间则是独立区间。 二、否则的话(上一区间的右端点大于下一区间的左端点),则可以合并&#…...
虚拟机网络桥接模式无法通信,获取到的ip为169.254.X.X
原因:VMware自动选择的网卡可能不对 解决:编辑-虚拟网络编辑器-更改桥接模式-选择宿主机物理网卡,断开虚拟机网络连接后重新连接即可...
目标检测发展概述
前言 本篇文章只是简单介绍一下目标检测这一计算机视觉方向的发展历史,因此重点在于介绍而不是完整阐述各个时期的代表算法,只要能够简单了解到目标检测的发展历史那么本文的目的就达到了。 目标检测的任务 从上图不难看出,目标检测是计算机…...
LeetCode 198—— 打家劫舍
阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 此题使用动态规划求解,假设 d p [ i ] [ 0 ] dp[i][0] dp[i][0] 代表不偷窃第 i i i 个房屋可以获得的最高金额,而 d p [ i ] [ 1 ] dp[i][1] dp[i][1] 代表偷窃第 i i i 个房屋可以获…...
CORBA须知(Common Object Request Broker Architecture,通用对象请求代理架构)
1. 定义: CORBA(Common Object Request Broker Architecture,通用对象请求代理架构),是由OMG(Object Management Group,對象管理組) 制定和控制的软件构建标准。 这个架构使得不同…...