当前位置: 首页 > news >正文

arm架构系统打包qt程序--麒麟操作系统为例

检查系统架构

uname -a

如果显示是aarch644或arm64,说明你使用的是ARM架构,,需要下载ARM版本。

下载对应架构的linuxdeployqt

  1. 编写脚本
vim deploy.sh
#!/bin/bash
APP_NAME="sunny450_silc"# 确保deploy目录存在
mkdir -p deploy# 复制程序
cp $APP_NAME deploy/# 创建desktop文件
cat > deploy/$APP_NAME.desktop << EOF
[Desktop Entry]
Type=Application
Name=Sunny450 SILC
Comment=嵌入式终端应用程序
Exec=$APP_NAME
Icon=$APP_NAME
Categories=Utility;System;
Terminal=false
StartupNotify=true
EOF# 创建简单图标(如果系统支持convert命令)
if command -v convert >/dev/null 2>&1; thenconvert -size 128x128 xc:lightblue -pointsize 20 -fill darkblue -gravity center -annotate +0+0 "SILC" deploy/$APP_NAME.png
else# 创建一个空的PNG文件作为占位符echo "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==" | base64 -d > deploy/$APP_NAME.png
fi# 运行linuxdeployqt
./linuxdeployqt-continuous-aarch64.AppImage deploy/$APP_NAME -appimageecho "打包完成!"
ls -la *.AppImage
  1. 运行
chmod 777 deploy.sh
./deploy.sh
  1. 修改说明
#!/bin/bash# ===========================================
# 需要修改的地方:
# ===========================================# 1. 【必须修改】应用程序名称 - 改成你实际的可执行文件名
APP_NAME="sunny450_silc"  # <-- 修改这里:你的程序文件名,笔者这里直接将应用程序复制到了deploy同级目录# 确保deploy目录存在
mkdir -p deploy# 复制程序
cp $APP_NAME deploy/# 2. 【可选修改】desktop文件内容 - 修改应用信息
cat > deploy/$APP_NAME.desktop << EOF
[Desktop Entry]
Type=Application
Name=Sunny450 SILC                    # <-- 修改:应用显示名称
Comment=嵌入式终端应用程序              # <-- 修改:应用描述
Exec=$APP_NAME
Icon=$APP_NAME
Categories=Utility;System;             # <-- 修改:应用分类
Terminal=false                         # <-- 修改:是否需要终端运行,false表示双击或者终端都可以运行,true表示只能通过终端命令运行
StartupNotify=true
EOF# 3. 【可选修改】图标内容
if command -v convert >/dev/null 2>&1; then# 修改图标样式:大小、颜色、文字等convert -size 128x128 xc:lightblue -pointsize 20 -fill darkblue -gravity center -annotate +0+0 "SILC" deploy/$APP_NAME.png#          ^^^尺寸   ^^^背景色      ^^^字体大小 ^^^文字颜色                              ^^^显示文字
else# 创建一个空的PNG文件作为占位符(通常不需要修改)echo "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==" | base64 -d > deploy/$APP_NAME.png
fi# 4. 【可能需要修改】linuxdeployqt文件名 - 确保文件存在
./linuxdeployqt-continuous-aarch64.AppImage deploy/$APP_NAME -appimage
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 修改:你下载的linuxdeployqt文件名echo "打包完成!"
ls -la *.AppImage# ===========================================
# 具体修改示例:
# ===========================================# 如果你的程序叫 "myapp",修改如下:
# APP_NAME="myapp"
# Name=My Application
# Comment=我的Qt应用程序# 如果你的程序需要在终端运行,修改如下:
# Terminal=true# 如果你的程序是游戏类应用,修改如下:
# Categories=Game;# 如果你下载的是x86_64版本,修改如下:
# ./linuxdeployqt-continuous-x86_64.AppImage deploy/$APP_NAME -appimage
常用的Categories分类:
Utility; - 实用工具
Development; - 开发工具
System; - 系统工具
Network; - 网络应用
Graphics; - 图形应用
Office; - 办公软件
http://www.dtcms.com/a/307486.html

相关文章:

  • 递归混合架构(MoR)在医疗领域的发展应用能力探析
  • 网络编程(一)TCP编程和UDP编程
  • Kubernetes集群中滚动更新失败与资源配置错误的深度解析及应对策略
  • 机器学习03——数据与算法初步2
  • Git之本地仓库管理
  • 第一篇:【Python-geemap教程(三)上】3D地形渲染与Landsat NDVI计算
  • 学习 java web 简单监听器
  • 《能碳宝》AI辅助开发系统方案
  • ES 工业网关:比德国更适配,比美国更易用
  • 编程语言Java——核心技术篇(六)解剖反射:性能的代价还是灵活性的福音?
  • Ubuntu/Debian 搭建 Nginx RTMP 服务器全攻略
  • 使用的IDE没有内置MCP客户端怎么办?
  • [源力觉醒 创作者计划]_文心4.5开源测评:国产大模型的技术突破与多维度能力解析
  • 数据库中使用SQL作分组处理01(简单分组)
  • Web3.0 和 Web2.0 生态系统比较分析:差异在哪里?
  • Web3:在 VSCode 中使用 Vue 前端与已部署的 Solidity 智能合约进行交互
  • Kotlin -> 普通Lambda vs 挂起Lambda
  • Astra主题WooCommerce如何添加可变产品Astra variation product
  • tplink er2260t配置vlan透传iptv
  • python学智能算法(二十九)|SVM-拉格朗日函数求解中-KKT条件理解
  • 数据结构: 双向列表
  • 银河麒麟桌面操作系统:自定义截图快捷键操作指南
  • NXP i.MX8MP GPU 与核心库全景解析
  • rapidocr_web v1.0.0发布了
  • 旧物重生,交易有温度——旧物回收二手交易小程序,让生活更美好
  • 从“碎片化”到“完美重组”:IP报文的分片艺术
  • 从遮挡难题到精准测量:激光频率梳技术如何实现深孔 3D 轮廓的 2um 级重复精度?
  • 《Java 程序设计》第 15 章 - 事件处理与常用控件
  • 【Python修仙编程】(二) Python3灵源初探(9)
  • 无人机飞控系统3D (C++)实践