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

时间:2008-12-04 14:09:12

标签: c linker cygwin

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

3 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:13)

Cygwin的GCC不再支持-mno-cygwin

尝试使用mingw-gcc,例如x86_64-w64-mingw32-gcc,如Cygwin FAQ中所述。

答案 2 :(得分:1)

对于安装了mingw32的Cygwin,您的命令行将采用

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

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