【发布时间】:2021-12-29 06:17:46
【问题描述】:
我正在使用 Muon UI(使用 Ultralight 而不是 Chromium)在 Golang 上创建一个桌面应用程序,并为 Linux 和 Windows 交叉构建我的应用程序。目前该应用程序运行良好,但它需要 Ultralight 库(Windows 为 *.dll,Linux 为 *.so)。但我想将我的应用程序作为单个可执行文件分发。如何创建两个可执行文件? Linux 的第一个文件,它应该包括 Linux 的主要可执行文件和只有 *.so 库。第二个文件应该包括 Windows 的主要可执行文件和只有 *.dll 库。我该怎么做?
是否有任何 CLI 实用程序用于此? (例如在 Docker 内部的 gitlab CI 中使用)或者我可以通过 Golang 来做到这一点(例如使用 embed 包。我可以将库嵌入到 exe 文件中,它可以运行吗)?
或者我可以使用 cgo 将动态库作为静态链接到二进制文件中吗?
【问题讨论】:
标签: linux windows go cross-platform