cygwin编译的win32程序不需要cygwin1.dll库的方法(1)

cygwin提供了在windows下使用gcc,g++编译器的方法,但是在cygwin下编译的程序,运行的时候需要cygwin1.dll库 以下文章翻译自国外

cygwin提供了在windows下使用gcc,g++编译器的方法,但是在cygwin下编译的程序,运行的时候需要cygwin1.dll库

 以下文章翻译自国外网站http://digipen2.xmmg.com/dpweb/docs/mno-cygwin.html

简单的代码(注:以下都是在cygwin环境下)

#include int main(void)
{printf("Hello\n");return 0;
}


编译链接如下:

gcc -Wall hello.c -o hello-cygwin.exe


使用cygcheck(cygwin tools)来看运行时依赖的库

C:\sandbox\CS120\gcc>cygcheck ./hello-cygwin.exe
.\hello-cygwin.exeC:\cygwin\bin\cygwin1.dllC:\WINNT\system32\ADVAPI32.DLLC:\WINNT\system32\NTDLL.DLLC:\WINNT\system32\KERNEL32.DLLC:\WINNT\system32\RPCRT4.DLL


编译不需要cygwin1.dll库支持的可执行文件

gcc -mno-cygwin -W