我想分发一个为macOS编译的水晶应用程序。我不想让我的用户先安装Brew,然后再安装Crystal dependancies。我只是喜欢让他们下载我的单一文件二进制文件。这在理论上是可能的吗?
发布于 2019-02-21 03:09:43
编辑
是我的错
Apple does not support statically linked binaries
因此,以下情况不适用于macOS,但适用于Linux。
I这在理论上是可能的吗?
是!非常有可能;事实上,您不需要在常规构建之外做任何事情,crystal依赖项静态地链接到单个文件中。(编辑:非...)
含义:给定您的程序myprog
,只需使用以下命令构建:
$ crystal build --release src/myprog.cr
然后Crystal将构建一个可执行文件myprog
,仅此而已!构建的可执行文件已准备好分发。
myprog
可以在其他macOS系统上运行,他们不需要在他们的机器上安装你的程序的任何水晶依赖项,这是因为他们被编译到myprog
文件中。
注意:
--release
将以更长的构建时间为代价来优化可执行文件。您还可以选择传递一个--no-debug
标志,该标志将从可执行文件中剥离调试符号并在一定程度上减小文件的大小。
https://stackoverflow.com/questions/54791683
复制相似问题