关于C#:你能静态编译一个cygwin应用程序吗?

Can you statically compile a cygwin application?

cygwin 是否允许静态编译的二进制文件?这将防止 cygwin1.dll 出现在目标机器的 PATH 上。


不,目前无法静态链接到 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.static-linking


Cygwin 的 GCC 不再支持 -mno-cygwin.

尝试改用 mingw-gcc,例如x86_64-w64-mingw32-gcc,如 Cygwin 常见问题解答中所述。


对于安装了 mingw32 的 Cygwin,你的命令行应该是

1
x86_64-w64-mingw32-gcc.exe main.c -o main.exe

这完全绕过了对 cygwin1.dll 的需求。