你能静态编译一个cygwin应用程序吗?

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 FAQ中所述 。

对于安装了mingw32的Cygwin,您的命令行将是格式

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

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