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

Go Energy 跨平台(GUI)应用编译和安装包制作

在这里插入图片描述

构建打包 energy cli

平台介绍描述
windowNSIS安装包制作工具可通过 energy cli 安装
linuxdpkg 命令系统自带
macosenergy 仅生成 xxx.app系统自带

安装包制作

config/energy_[os].json是初始化应用时自动生成的应用配置文件,在编译和制作应用安装包时使用

Windows

  • info: 应用的二进制执行程序配置
  • nsis: 安装包程序配置
config/energy_windows.json
{"name": "{{.Name}}",    // 应用名"projectPath": "@",     // 项目目录, @: 当前命令执行目录"frameworkPath": "$ENERGY_HOME", // CEF 二进制框架目录, $ENERGY_HOME: 取环境变量"assetsDir": "assets","outputFilename": "{{.OutputFilename}}", // 编译二进制执行文件名"libemfs": "libs","info": {"manifest": "@/{{.Name}}.manifest", // app.manifest 配置应用属性"icon": "@/resources/icon.ico",     // 应用图标"companyName": "{{.CompanyName}}",  // 文件属性信息"productName": "{{.ProductName}}",  // 文件属性信息"fileVersion": "1.0.0",             // 文件属性信息"productVersion": "1.0.0",          // 文件属性信息"copyright": "Copyright.....",      // 文件属性信息"comments": "Built using ENERGY (https://github.com/energye/energy)","fileDescription": "Built using ENERGY (https://github.com/energye/energy)"},"nsis": {"include": [],                  // 额外要打包的资源, 绝对路径"exclude": ["cache"],           // 忽略"icon": "@/resources/icon.ico", // 安装程序图标"unIcon": "@/resources/icon.ico",// 安装程序卸载图标"license": "",                  // 安装包授权信息界面, xxx.txt 绝对路径,不为空时"language": "english",          // 安装包界面语言,默认英文: english,中文: SimpChinese"requestExecutionLevel": "admin",// 执行等级, 空""当前用户"compress": "7za",              // 空时不启用7za压缩"compressName": "framework.7z"  // 7z 压缩包名称},"author": {"name": "yanghy","email": "snxamdf@126.com"}
}
构建二进制执行文件
  • 进入项目根目录执行编译命令

energy build

在这里插入图片描述

生成安装包程序
  • 进入项目根目录执行打包命令

energy package

  • 安装包输出目录
    approotpath/build/windows/appname-install.exe

在这里插入图片描述

关于NSIS脚本
approotpath/build/windows
installer-nsis.nsi
installer-tools.nsh
你可以自己配置nsis脚本, 自定义安装程序界面.

Linux

  • info: 应用的二进制执行程序配置
  • dpkg: 安装包程序配置
config/energy_linux.json
{"name": "{{.Name}}",      // 应用名"projectPath": "@",       // 项目目录, @: 当前命令执行目录"frameworkPath": "$ENERGY_HOME", // CEF 二进制框架目录, $ENERGY_HOME: 取环境变量"assetsDir": "assets","outputFilename": "{{.OutputFilename}}",// 编译二进制执行文件名"libemfs": "libs","info": {"icon": "@/resources/icon.png",     // 安装后的应用图标,建议修改"companyName": "{{.CompanyName}}",  // 文件属性信息"productName": "{{.ProductName}}",  // 文件属性信息"productVersion": "1.0.0",          // 文件属性信息"comments": "Built using ENERGY (https://github.com/energye/energy)"},"dpkg": {"include": [],"exclude": ["cache"],"package": "com.{{.CompanyName}}.{{.CompanyName}}","homepage": "https://github.com/energye/energy","compress": "7zz","compressName": "framework.7z"},"author": {"name": "yanghy","email": "snxamdf@126.com"}
}
构建二进制执行文件
  • 进入项目根目录执行编译命令

energy build

生成安装包程序
  • 进入项目根目录执行打包命令

energy package

  • 安装包输出目录
    approotpath/build/linux/appname-install.deb

MacOS

  • plist: 配置 xxx.app 的 Info.plist
config/energy_darwin.json
{"name": "{{.Name}}",    // 应用名"projectPath": "@",     // 项目目录, @: 当前命令执行目录"frameworkPath": "$ENERGY_HOME", // CEF 二进制框架目录, $ENERGY_HOME: 取环境变量"assetsDir": "assets","outputFilename": "{{.OutputFilename}}", // 编译二进制执行文件名"helperFilePath": "",                    // Helper 子进程执行文件完全文件路径, 不为空时有效"plist": {"icon": "@/resources/icon.png",        // 安装后的应用图标,建议修改"companyName": "{{.CompanyName}}",     // 文件属性信息"productName": "{{.ProductName}}",     // 文件属性信息"locals": [                            // 文件属性信息"zh_CN","en"],"cfBundleVersion": "1.0.0",            // 文件属性信息"cfBundleShortVersionString": "1.0.0", // 文件属性信息"copyright": "Copyright.....","comments": "Built using ENERGY (https://github.com/energye/energy)","include": [],"exclude": ["cache"]},"author": {"name": "yanghy","email": "snxamdf@126.com"}
}
构建二进制执行文件
  • 进入项目根目录执行编译命令

energy build

生成安装包程序
  • 进入项目根目录执行打包命令

energy package

  • 安装包输出目录
    approotpath/build/darwin/appname-install.app

相关文章:

Go Energy 跨平台(GUI)应用编译和安装包制作

构建打包 energy cli 平台介绍描述windowNSIS安装包制作工具可通过 energy cli 安装linuxdpkg 命令系统自带macosenergy 仅生成 xxx.app系统自带 安装包制作 config/energy_[os].json是初始化应用时自动生成的应用配置文件,在编译和制作应用安装包时使用 Windows…...

众测遇到的一些案列漏洞

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行…...

大华乐橙设备私有平台EasyCVR视频设备轨迹回放平台支持哪些摄像机?摄像机如何选型?

在现代安全监控系统中,视频监控设备扮演着至关重要的角色。视频设备轨迹回放平台EasyCVR以其卓越的兼容性和灵活性,支持接入多种品牌和类型的摄像机。这不仅为用户提供了广泛的选择空间,也使得视频监控系统的构建和管理变得更加高效和便捷。本…...

实战攻略 | ClickHouse优化之FINAL查询加速

【本文作者:擎创科技资深研发 禹鼎侯】 查询时为什么要加FINAL 我们在使用ClickHouse存储数据时,通常会有一些去重的需求,这时候我们可以使用ReplacingMergeTree引擎。这个引擎允许你存储重复数据,但是在merge的时候会根据order …...

5G NR gNB 逻辑架构及其功能拆分选项

5G NR gNB 逻辑架构及其功能拆分选项 中央单元 (CU) 和分布式单元功能拆分选项RAN 分体架构的优势在哪里使用哪个拆分函数?参考: 5G NR gNB Logical Architecture and It’s Functional Split OptionsCentral Unit (CU) and Distributed Unit Functional…...

PyQt入门指南四十六 性能优化策略

在PyQt应用程序中,性能优化是一个重要的考虑因素,尤其是在处理大型数据集或复杂图形界面时。以下是一些常见的性能优化策略: 1. 使用延迟加载(Lazy Loading) 延迟加载是一种优化技术,只在需要时加载资源。…...

【RMA】基于知识注入和模糊学习的多模态歧义分析

abstract 多模态情感分析(MSA)利用互补的多模态特征来预测情感极性,主要涉及语言、视觉和音频三种模态。现有的多模态融合方法主要考虑不同模态的互补性,而忽略了模态之间的冲突所导致的歧义(即文本模态预测积极情绪&…...

CulturalBench :一个旨在评估大型语言模型在全球不同文化背景下知识掌握情况的基准测试数据集

2024-10-04,为了提升大型语言模型在不同文化背景下的实用性,华盛顿大学、艾伦人工智能研究所等机构联合创建了CulturalBench。这个数据集包含1,227个由人类编写和验证的问题,覆盖了包括被边缘化地区在内的45个全球区域。CulturalBench的推出&…...

Git 入门篇(一)

前言 操作系统:win11 64位 与gitee搭配使用 Git 入门篇(一) Git 入门篇(二) Git 入门篇(三) 目录 git下载、安装与配置 下载 安装 配置 git下载、安装与配置 下载 官网:git-…...

一个灵活且功能强大的动画库 Popmotion

一个灵活且功能强大的动画库 Popmotion 什么是 Popmotion? Popmotion 是一个强大的 JavaScript 动画库,提供了一系列简洁的 API,方便开发者创建流畅的动画效果。它支持不同类型的动画,包括 CSS 动画、SVG 动画和 DOM 动画&#…...

如何解决传统能源企业后备人才不足、人才规划缺失问题

如何解决传统能源企业后备人才不足、人才规划缺失问题 很多传统能源企业都面临着老员工逐渐退休,新员工还没有培养起来的问题,缺乏提前对人力资源规划的意识,导致当企业要开展新业务时或者老员工离职的时候,缺乏合适的人选。特别…...

PDF模板制作与填充(Java)

1.PDF模板制作 准备原始模板 准备一个原始PDF模板,可以编辑好Word,预留出要填充的部分,再转换成PDF格式。 设置表单域 用任意PDF编辑器打开PDF模板文件,设置表单域,下面以WPS为例: 拖动文本域到需要填充的…...

LeetCode题练习与总结:迷你语法分析器--385

一、题目描述 给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。 列表中的每个元素只可能是整数或整数嵌套列表 示例 1: 输入:s "324", 输出:324 解释&#xff…...

Unity WebGL交互通信

Unity 调用 H5 本文使用的 unity 版本为:2021.3.3 1.在unity中通过c#的特性DllImport导出外部实现函数 [DllImport("__Internal")]private static extern void callJsString(string param);[DllImport("__Internal")]private static extern vo…...

王道考研之数据结构

数据结构系列 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 数据结构 数据结构系列1.线性表1.1 线性表的定义和相关概念1.2 线性表的创销 增删查改 判空表长打印 2.顺序表2.1 顺序表定义和相关概念2.2 顺序表的静态实现2.3 顺序表的…...

实习冲刺Day17

算法题 x的平方根 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int mySqrt(int x) {long left 0,right x;//定义左右边界//数值取的大longlong类型while (left < right) {long mid (right-left1)/2left;//定义中间节点if ((mid *…...

我自己nodejs练手时常用的一些库基础用法

我自己在使用nodejs以及前端实战练习时常用的一些库的基本使用 1.bcrypt //注册账号时&#xff0c;给密码加密 password是前端传过来的密码&#xff0c;hashPassword是存到数据库中的密码 const bcrypt require(bcrypt) const hashPassword bcrypt.hash(password,10) //登…...

岛屿数量问题

给一个0 1矩阵&#xff0c;1代表是陆地&#xff0c;0代表海洋&#xff0c; 如果两个1相邻&#xff0c;那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 岛屿问题: 相邻陆地可以组成一个岛屿&#xff08;相邻:上下左右&#xff09; 判断岛屿个数。 C 解决方案 #include &…...

智能制造基础- TPM(全面生产维护)

TPM 前言一、TPM二、TPM实施步骤三、 消除主要问题3.1 实施指南3.2 如何进行“主要问题”的消除&#xff1f; 四、自主维护4.1 实施指南4.2 主要工作内容4.3 如何进行“自主维护“ 五、计划维护5.1 实施指南5.2 如何实施计划维护 六、TPM 适当的 设备 设计5.1 实施指南5.2 如何…...

C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(4)

2.2.2、显式实例化 有危险存在于有些类模板成员函数的编译错误&#xff0c;在隐式实例化时没有注意到。未被使用的类模板成员函数也可能包含语法错误&#xff0c;因为它们不会被编译到。这会使得检测代码的语法错误很困难。可以强制编译器生成所有成员函数的代码&#xff0c;vi…...

5分钟掌握MPC Video Renderer:解锁专业级HDR视频渲染的完整解决方案

5分钟掌握MPC Video Renderer&#xff1a;解锁专业级HDR视频渲染的完整解决方案 【免费下载链接】VideoRenderer RTX HDR modded into MPC-VideoRenderer. 项目地址: https://gitcode.com/gh_mirrors/vid/VideoRenderer MPC Video Renderer是一款功能强大的开源DirectSh…...

能源企业必看:人力资源系统选用友、北森,还是红海云?

能源企业的人力资源系统选型&#xff0c;往往不是比功能多不多&#xff0c;而是看能否扛住集团级组织复杂度、倒班工时与薪酬联动、强合规审计&#xff0c;以及对私有化与信创的要求。用友、北森、红海云是常被放在同一张桌面上对比的选择&#xff0c;但适配路径并不相同。下面…...

构建专属数字分身:Duix-Avatar本地化部署与应用全指南

构建专属数字分身&#xff1a;Duix-Avatar本地化部署与应用全指南 【免费下载链接】Duix-Avatar 项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar 在数字化时代&#xff0c;拥有一个能够自主生成视频内容的AI助手已成为提升创作效率的关键。Duix-Avatar…...

TikTok GMXMAX广告优化全攻略

在2026年&#xff0c;TikTok广告投放逐渐向自动化模型演进&#xff0c;其中GMX MAX&#xff08;GMV Max&#xff09;成为很多团队用来提升ROI和放量的重要方式。相比传统广告模式&#xff0c;它可以自动完成受众匹配与预算分配&#xff0c;减少大量人工干预。不过在实际操作中&…...

3步掌握MelonLoader:面向Unity开发者的游戏扩展加载器实战指南

3步掌握MelonLoader&#xff1a;面向Unity开发者的游戏扩展加载器实战指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Unit…...

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么来的?

用Python仿真UWB定位&#xff1a;从纳秒脉冲到30厘米精度的全流程解析 在室内导航、工业自动化或仓储物流等领域&#xff0c;定位精度直接决定了系统性能的上限。传统GPS在开阔地带表现优异&#xff0c;但一旦进入室内环境&#xff0c;其信号衰减和多径效应会导致定位误差急剧…...

告别乱码!5分钟搞懂串口通信中的帧结构与CRC校验(附协议.h/.c文件)

串口通信实战&#xff1a;从帧结构设计到CRC校验的完整实现指南 当你第一次尝试用串口发送"Hello World"时&#xff0c;数据像流水般顺畅。但当你开始传输传感器读数或控制指令时&#xff0c;突然发现接收端时不时出现乱码或数据错位——这就像试图在嘈杂的酒吧里进行…...

libmill内存管理机制:如何避免协程栈溢出问题的完整指南

libmill内存管理机制&#xff1a;如何避免协程栈溢出问题的完整指南 【免费下载链接】libmill Go-style concurrency in C 项目地址: https://gitcode.com/gh_mirrors/li/libmill libmill是一个为C语言引入Go风格并发编程的轻量级库&#xff0c;它通过协程&#xff08;c…...

Vivado实战:从零封装自定义接口IP核的完整流程

1. 为什么需要封装自定义IP核 第一次接触FPGA开发时&#xff0c;我总喜欢把整个工程的所有代码都堆在一个项目里。直到某天需要复用之前的HDMI显示模块时&#xff0c;才发现要手动复制几十个文件&#xff0c;还得逐个修改端口连接。这种重复劳动让我意识到&#xff1a;封装IP核…...

当I2C总线卡死时我们在debug什么:从复位异常到多设备冲突的故障树分析

当I2C总线卡死时我们在debug什么&#xff1a;从复位异常到多设备冲突的故障树分析 I2C总线作为嵌入式系统中广泛使用的通信协议&#xff0c;其简洁的两线制设计&#xff08;SCL时钟线与SDA数据线&#xff09;背后隐藏着复杂的硬件交互逻辑。当系统突然出现I2C通信失败、设备无响…...