您可以静态编译 cygwin 应用程序吗?
cygwin 是否允许静态编译的二进制文件? 这将防止 cygwin1.dll 出现在目标计算机的 PATH 上。
Does cygwin allow a statically compiled binary? This would prevent the need for cygwin1.dll being on the PATH of target machines.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不可以,目前无法静态链接 cygwin1.dll; 如果您的应用程序不使用unix模拟(即纯win32),您可以将-mno-cygwin传递给编译器。
另请参阅常见问题解答:
http://cygwin.com/faq/faq.html#faq .programming.win32-no-cygwin
http://cygwin.com/faq/faq.html#faq.programming .静态链接
Nope, it's currently not possible to statically link against cygwin1.dll; if your application does not use unix emulation (i.e. pure win32) you can pass -mno-cygwin to the compiler.
See also the FAQ:
http://cygwin.com/faq/faq.html#faq.programming.win32-no-cygwin
http://cygwin.com/faq/faq.html#faq.programming.static-linking
Cygwin 的 GCC 不再支持
-mno-cygwin
。尝试使用 mingw-gcc 代替,例如
x86_64-w64-mingw32-gcc
,如 Cygwin 常见问题解答。Cygwin's GCC no longer supports
-mno-cygwin
.Try to use mingw-gcc instead, e.g.
x86_64-w64-mingw32-gcc
, as mentioned in the Cygwin FAQ.对于安装了 mingw32 的 Cygwin,您的命令行将采用以下形式
这完全不需要 cygwin1.dll。
For Cygwin with mingw32 installed, your command line would be of the form
This bypasses the need for cygwin1.dll altogether.