Solo intentaba construir netcat en MSYS utilizando MinGW y me di cuenta de que MinGW nunca transportaba realmente todas las conexiones de BSD a Windows (por ejemplo, sys/socket.h). Sé que puede usar Windows Sockets en MinGW, pero ¿por qué nunca crearon un puerto de Windows para los sockets BSD? Noté bastantes programas usando # ifdef's para solucionar el problema. ¿Hay un puerto de Windows de los enchufes BSD en alguna parte que pueda usarse en su lugar?Enchufes en MinGW
Éstos son los errores cuando se hace una marca de netcat en MSYS:
gcc -DLOCALEDIR=\"\/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c `test -f 'core.c' || echo './'`core.c
In file included from core.c:29:
netcat.h:38:24: sys/socket.h: No such file or directory
netcat.h:39:63: sys/uio.h: No such file or directory
netcat.h:41:24: netinet/in.h: No such file or directory
netcat.h:42:55: arpa/inet.h: No such file or directory
No hay #ifdef de para MinGW. ¿Existe una biblioteca/paquete que pueda agregar a MSYS para hacer que todo se compile sin errores?
Nota: Usted puede descargar netcat here y navegar por el repositorio CVS here
Winsock fue originalmente un puerto de la API de sockets de Berkeley. – ChrisW
@ChrisW, nunca he entendido cuál es el punto de hacer que Winsock sea diferente de UNIX. – Pacerier
@Pacerier Creo que Winsock es más simple ya que tiene menos archivos de encabezado para incluir. Ver p. [Transición de UNIX a Windows Socket Programming] (http://cs.baylor.edu/~donahoo/practical/CSockets/WindowsSockets.pdf) para más detalles. – ChrisW