mingw で UDP ソケットを作成しようとしましたが、errno =で がsocket()
返されます。変。winsock2.h を含めました。最初はコンパイルエラーがありましたが、Code::Block の Linker Settings を設定した後
、コンパイルは成功しました。-1
0
undefined reference to socket@12
-lws2_32
-lwsock32
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
RDF_LOG(kDEBUG, "sockfd %d ", sockfd);
if (sockfd < 0){
RDF_LOG(kERROR, "ERROR: %s , errno %d\n", strerror(errno), errno);
}
結果 --> sockfd -1 エラー: エラーなし、errno 0
OK、代わりに RDF_LOG を fprintf に変更します。
int tmp = 0;
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
tmp = errno;
fprintf(stderr, "sockfd %d ", sockfd);
if (sockfd < 0){
fprintf(stderr, "socket: %s , errno %d\n", strerror(tmp), tmp);
}
返される結果は、まだ --> sockfd -1 socket: No error , errno 0 mingw が errno をサポートしていない可能性はありますか??