5
은 당신이는 MinGW-W64의 GCC로 컴파일하면strerror는
$ gcc a.c
$ ./a
ERROR 116 Connection timed out
좋은 것은 그것이 제대로 제공하지 않습니다 실행이 간단한 프로그램
#include <stdio.h>
#include <string.h>
#include <errno.h>
int
main (void)
{
printf ("ERROR %d %s\n", ETIMEDOUT, strerror (ETIMEDOUT));
return 0;
}
를 타고 오류 메시지
$ i686-w64-mingw32-gcc a.c
$ ./a
ERROR 138 Unknown error
어떻게하면 MinGW-w64에 올바른 오류 메시지를 표시 할 수 있습니까?
'ETIMEDOUT'에 대한 몇 가지 추가 정보 : MinGW 설치 중 적어도 하나는 아직 정의되지 않은 경우'138 '대신'10060 '(WSAETIMEDOUT와 동일)으로 정의됩니다. 나는 이것이 유산 (winsock.h)이 그것을하기 위해 사용 되었기 때문에 이것이라고 생각한다 (그러나 더 이상은 아니다). Boost는 컴파일러의'cerrno'가 이미 정의하지 않았다면'9938'으로 정의 할 것입니다 - VS2010까지 MSVC에서 시작되지 않았습니다. 그래서 저는 여러분이 프로그램을 컴파일하기까지하는 것이 조금 운이 좋았다고 생각할 수도 있다고 말하고 싶습니다. –
@MichaelBurr - WinSock은 http://www.sockets.com/err_lst1.htm#WSAETIMEDOUT에 따라 버클리 소켓에서 WSAETIMEDOUT (10060)을 빌려 왔습니다. –