在Linux中快速编译带图标的windows程序

本文介绍了如何在Linux系统中使用rsrc工具和Go语言编译带有图标的Windows程序。首先,介绍了rsrc工具的使用方法,然后详细阐述了编译过程,包括模拟Windows程序的编写、图标文件的准备和服务后端程序的角色。通过交叉编译,最终在Linux上成功生成了可在Windows运行的带图标的可执行文件,并进行了验证。

一. 引言

以前做的一个项目有个需求, 需要在Linux系统上的服务后端根据前端配置动态编译出能在Windows平台运行的程序, 并且能支持程序带图标, 虽然使用Go语言能够方便的编译跨平台运行的代码, 但编译带资源图标的Windows可执行程序还未尝试过, 本篇文章对这部分内容做一个实践尝试。

二. 准备工作

如果要单独完成这项任务, 需要准备以下几样"配菜":

1.rsrc程序, 开源项目, 地址: https://github.com/akavel/rsrc

2.一份模拟在Windows平台运行的源码, 当被自动编译后, 能看到运行效果。

3.一份图标文件, 文件后缀为.ico。

4.一份模拟服务后端功能的程序, 该程序负责编译出最终带图标的Windows程序。

下面将依次介绍这四样"配菜"的调制方法:

2.1 rsrc程序

rsrc程序是一个开源专门负责将ico资源文件写入Windows PE可执行程序的工具, 该工具使用Go语言开发, 能够支持将rsrc代码编译成支持不同平台的可执行程序, 支持的系统包括: Darwin、Linux(amd64)、Windows(386)、Windows(amd64)。

rsrc程序的参数在实际使用过程中主要有三个:

1.-arch 该参数将指定嵌入资源后的程序运行的CPU架构, 为了向下同时兼容32位和64位系统, 这里一般设置的参数为:"-arch 386"。

2.-ico 该参数执行传入的图标文件保存的全路径。

3.-o 该参数是一个输出参数, 将输出一个.res或者.syso的资源文件, 如果不指定资源文件的名字, rsrc将默认输出一个名为:rsrc_windows_{arch}.syso的文件, 在我们实际应用中, 将输出格式为: .syso的文件。

2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二进制空间安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值