设置独立的 cygwin 应用程序
我想设置一组最小的 cygwin 应用程序(ls、diff、path、find、grep),以便它们在没有完整 cygwin 安装的计算机上运行。
我假设我需要的只是相关的 *.exe 文件和 *.dll。 到目前为止,这就是我所拥有的。 到目前为止它有效,但我想知道我可能会遇到任何问题。
I want to setup a minimal set of cygwin applications (ls, diff, path, find, grep) so that they run on a machine without the full cygwin install.
I am assuming all I need are the *.exe files and *.dll that are relevant. So far, this is what I have. It works so far, but I was wondering if there are any issues down the road that I might experience.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不一定,但您可能想看看 UnxUtils,对于此类应用程序,它比 cygwin 有一些优势您正在描述:
它不依赖于外部 DLL。
可执行文件使用 msvcrt.dll,而不是 cygwin.dll,因此它们可以很好地与本机 Windows 路径配合使用。 /cygdrive 路径和系统其余部分使用的本机路径之间没有脱节。
由于(2),如果您有机会必须这样做,它可以更好地集成到命令或bat文件中。
由于(2),
UnxUtils 非常适合将 sed 等功能部署到 Windows 计算机,因为您只需将 sed.exe 放入应用程序目录中,而不必担心注册任何 DLL 或其他安装复杂性。 CMD.exe 将很好地进行管道和重定向,以便在批处理文件中使用它们,并且实用程序不介意
\r\n
行终止符。Not really, but you might want to look at UnxUtils, which has some advantages over cygwin for the sort of application you're describing:
It does not depend on an external DLL.
The executables use msvcrt.dll, rather than cygwin.dll so they play nicely with native windows paths. There is no disconnect between the /cygdrive path and the native paths used by the rest of the system.
Because of (2) it integrates much more nicely into command or bat files if you have occasion to have to do this.
UnxUtils is quite good for deploying functionality like sed to windows machines because you can just drop sed.exe into an application directory and not have to worry about registering any DLL's or other installation complexities. CMD.exe will pipe and redirect well enough to use these in batch files, and the utilities do not mind
\r\n
line terminators.还有 GnuWin32 项目。 我使用它和 CygWin,所以有时我很难判断我在什么样的环境中工作......但这并不是一件坏事!
There is also the GnuWin32 project. I use that and CygWin, so sometimes I have a hard-time telling what kind of environment I'm working in..... not that that's a bad thing!
我看到的一个问题是许可。 您可能需要研究在什么条件下允许您重新分发二进制文件。 (这可能很简单,只需在自述文件中包含一条有关从何处获取源代码的声明即可。)
另一个问题是 Cygwin 更新。 当新的二进制文件发布时,您将如何让最终用户保持最新状态?
第三个潜在问题是应用程序所需的配置文件。 然而,毫无疑问,这在测试中很容易弄清楚。
您是否考虑过MinGW? 它似乎比 Cygwin 更适合您的目的。
One issue I can see is licensing. You may need to research under what conditions you are allowed to redistribute binaries. (It may be a simple as including a statement in a README file about where to obtain the source.)
Another issue is Cygwin updates. When new binaries are released, how will you keep end users up to date?
A third potential problem would be configuration files that an application would need. No doubt this would be easy enough to figure out in testing, however.
Have you considered MinGW? It would seem to fit your purposes better than Cygwin.