当前位置: 首页 > 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.lryc.cn/news/606254.html

相关文章:

  • [GESP202506 五级] 奖品兑换
  • Python列表完全指南:从基础到实战(2025版)
  • 八股训练--Spring
  • C#反射的概念与实战
  • 网络编程-IP
  • TCP窗口缩放配置在云服务器高延迟网络中的参数调整测试
  • Android端RTMP低延迟播放器在工业与智能场景下的架构与落地
  • 抓大鹅小游戏微信抖音流量主小程序开源
  • TGD第九篇:三维应用——视频边缘检测
  • 【AI论文】MUR:面向大型语言模型的动量不确定性引导推理
  • cuda编程笔记(11)--学习cuBLAS的简单使用
  • Coze Studio概览(四)--Prompt 管理功能详细分析
  • 分布式锁的基本原理和基于lua脚本的实现(Redisson)
  • 红黑树×协程×内存序:2025 C++后端核心三体问题攻防手册
  • 旅游城市数量最大化 01背包问题
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘plotly’问题
  • Mac安装Navicat教程Navicat Premium for Mac v17.1.9 Mac安装navicat【亲测】
  • IK 字段级别词典的升级之路
  • 【RH134 问答题】第 11 章 管理网络安全
  • ACL 2024 大模型方向优秀论文:洞察NLP前沿​关键突破!
  • 前端框架Vue3(四)——组件通信及其他API
  • SecurityContextHolder 管理安全上下文的核心组件详解
  • python之使用ffmpeg下载直播推流视频rtmp、m3u8协议实时获取时间进度
  • 金融分类提示词演示
  • 代码随想录Day35:动态规划(背包问题 二维 一维、分割等和子集)
  • 守护金融核心业务 | 博睿数据《金融业务全景与全链路智能可观测体系建设白皮书》发布!
  • 云上服务器常见的存储方式和类型
  • MySQL 中的 JOIN 操作有哪些类型?它们之间有什么区别?
  • vk框架或者普通函数封装的一些函数可以拿取使用【会持续更新】
  • Maven模块化开发与设计笔记