我想用cygwin制作一个独立的exe.我有两个选择:
>静态链接cygwin1.dll
如果我可以静态链接cygwin1.dll,那么我可以得到一个独立的exe.
>将cygwin1.dll与myprog.exe合并
如果我可以将cygwin1.dll与我的程序合并,我可以得到一个独立的exe.
不建议我使用IlMerge.这不起作用,因为我没有用.NET编译我的程序.
这些选项有可能吗?如果没有,这种困境有可能发生什么吗?感谢名单!
我可以看到你认为合理的两种可能性.一种方法是使用不同的编译器构建一个存根可执行文件(例如,MinGW – 无论如何,它不需要cygwin)将主可执行文件和cygwin.dll解压缩到一个临时目录中,然后生成该可执行文件.要仅分发单个可执行文件,您需要将主可执行文件和cygwin.dll作为二进制资源添加到“存根”中.这有点难看,但很简单.
原文链接:https://www.f2er.com/windows/365109.html另一种方法是获取source to cygwin,并将其构建为静态库.至少在理论上,这应该更清洁 – 但它无疑也是更多的工作.让它构建为纯静态代码而不是DLL几乎肯定需要一些工作,尽管甚至很难猜到多少.只是稍微浏览一下,看起来不太可能是几个小时的快速工作,或类似的事情(除非我错过了那些已经支持静态构建它的东西).