概述
点总结
- 使用Go制作GUI
- GUI库使用andlabs / ui
- 在Linux上针对Linux / Windows / Mac进行交叉编译
存储库:https://github.com/contribu/equalizer-apo-translator
我想做什么
Windows GUI商业使用动态无链接使用源代码管理构建环境/方法
我想认识
。
技术选择
C#取决于.Net。它现在可能在大多数环境中都可以使用,但是不久前它没有用,因为它没有.Net,所以我没有使用它。
Delphi被拒绝,因为它没有商用版本。
我什至不知道如何通过源代码控制构建环境/方法。
可能已经创建了拉撒路,但我没有尝试过。
Go听说没有动态链接就可以完成。
在检查了GUI库之后,我发现andlabs / ui似乎依赖于GTK,但是似乎可以在运行时不依赖Windows的情况下完成Windows的构建。
我还发现,andlabs / ui具有用于交叉编译的docker。
我成功了
如何使用Go和Labs / UI
交叉编译GUI应用程序
基本的
有关如何使用
andlabs / ui的信息,请参见官方页面。
https://github.com/andlabs/ui
您可以通过在examples目录中查看如何使用它。
交叉编译
用于交叉编译的Docker image
据记载,下面有一个docker用于交叉编译andlabs / ui。
https://github.com/andlabs/ui/wiki/Building-and-Cross-Compilation
https://github.com/magJ/go-ui-crossbuild/
如何与circleci交叉编译
看到这个。
https://github.com/contribu/equalizer-apo-translator/blob/master/.circleci/config.yml
注意
- 用于交叉编译的docker镜像是两年前(大概在2017年左右)构建的。
- 所以图书馆很旧
- 重建docker映像很麻烦,所以我照原样使用了它,但是一些库需要更新(请参阅.circleci / config.yml)
- 我不确定如何为交叉编译命令指定参数,因此我查看了脚本的源代码并使其工作。
- 忽略.circleci / config.yml中描述的go-bindata和lrelease,因为它们特定于此应用程序。
- Mac版本无效。我猜这是因为交叉编译的docker映像太旧了。
- 我没有尝试查看linux构建是否有效。