【问题标题】:Compiling a bash script into a windows executable将 bash 脚本编译为 Windows 可执行文件
【发布时间】:2011-08-11 22:47:56
【问题描述】:

我有一个最初为 Linux 制作的脚本,但适合在 Windows 中使用 Cygwin 运行,如果您已经拥有可执行文件(sh、cp、mv 等),那么您可以在没有 Cygwin 的情况下运行它。唯一的问题是该脚本还使用了数百个(是数百个)其他可执行文件。有什么办法可以将此脚本编译成常规可执行文件并将这些其他支持文件打包为资源?

脚本大约有 1600 行长,这可能太长,无法舒适地用 C++ 手动重新实现。我希望将脚本编译成 windows 可以执行的东西,而无需编辑路径以包含一堆第三方可执行文件。一种包含所有这些的方法。

【问题讨论】:

  • 那些可执行文件链接到 cygwin 附带的库,所以如果可以做到这一点,那么可执行文件将会非常庞大​​。

标签: windows bash compilation


【解决方案1】:

我怀疑你想到的解决方案是否可行。

相反,我会修改脚本,以便它做的第一件事就是找出所有这数百个可执行文件的位置。然后适当地设置$PATH,或者通过其完整路径名调用每一个。

或者您可以使用安装程序将可执行文件安装到指定或用户选择的位置,然后(从输入文件)重新生成脚本,以便知道可执行文件的位置。附带the-script.in,然后让安装程序执行文本替换以从the-script.in 生成the-script

【讨论】:

    【解决方案2】:

    我指出:

    RPMSHC

    作为您的问题的可能解决方案。也许这个工具可以帮助你完成这项工作。

    【讨论】:

      【解决方案3】:

      在 Cygwin 中使用 SHC 可以将 bash 编译为 exe 好的。真的很老,但我一直在寻找它并决定做我自己并将其公开。 http://goo.gl/M1NSY

      【讨论】:

        【解决方案4】:

        使用所需实用程序的端口并使用一些应用程序虚拟化工具将其打包。 Cameyo 是免费的。忘记 Cygwin,那东西是 huuuge :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-26
          • 1970-01-01
          • 1970-01-01
          • 2011-11-25
          • 2019-02-14
          • 2012-09-02
          相关资源
          最近更新 更多