dll - 用 Cygwin 编译独立的 exe

标签 dll cygwin executable exe

我想用cygwin制作一个独立的exe。我有两个选择:

  • 静态链接 cygwin1.dll
    如果我可以静态链接cygwin1.dll,那么我可以获得一个独立的exe。
  • 将 cygwin1.dll 与 myprog.exe 合并
    如果我可以将 cygwin1.dll 与我的程序合并,我可以获得一个独立的 exe。

  • 不建议我使用 IlMerge。这行不通,因为我没有用 .NET 编译我的程序。

    这些选项中的任何一个都可能吗?如果没有,这个困境有什么可能吗?谢谢!

    最佳答案

    我可以看到您认为合理的两种可能性。一种方法是使用不同的编译器(例如,MinGW——无论如何,这样它不需要 cygwin)构建一个 stub 可执行文件,以将主可执行文件和 cygwin.dll 解压缩到一个临时目录中,然后生成该可执行文件。要仅分发单个可执行文件,您需要将主可执行文件和 cygwin.dll 作为二进制资源添加到“ stub ”中。这有点难看,但很简单。

    另一种选择是获取 source to cygwin ,并将其构建为静态库。至少在理论上,这应该更干净——但毫无疑问,这也需要更多的工作。让它构建为纯静态代码而不是 DLL 几乎肯定需要一些工作,尽管甚至很难猜测需要多少。只是浏览一下,它似乎不太可能是几个小时或类似的快速工作(除非我错过了一些已经支持静态构建它的东西,当然)。

    关于dll - 用 Cygwin 编译独立的 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640115/

    相关文章:

    c# - 为什么在根据 .NET Standard 编译 .NET Framework 项目时缺少此 NuGet 依赖项?

    c++ - char* 在从 C DLL 返回到 js-ctypes 时丢失

    android - 下载 Android 源代码所需的最低 Cygwin 配置

    c - PETSc 示例不起作用

    Linux 安装可执行文件所需的软件包

    java - 从 gradle 项目中生成可执行文件

    php - 用php打开可执行文件

    c# - 从多图标 (.ico) 文件访问特定图标

    c# - Asp.Net C# Dll导入问题

    java - 如何使用 Java 通过 Windows/cygwin 执行 unix 命令