Я просто пытался собрать netcat в MSYS, используя MinGW, и понял, что MinGW никогда не переносил весь материал сокетов BSD в Windows (например, sys / socket.h). Я знаю, что вы можете использовать Windows Sockets в MinGW, но почему они никогда не делали Windows-порт BSD-сокетов? Я заметил довольно много программ, использующих # ifdef для обхода проблемы. Есть ли где-нибудь Windows-порт BSD-сокетов, который можно использовать вместо этого?
Вот ошибки при создании make для netcat в 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
Для MinGW нет # ifdef. Есть ли библиотека / пакет, который я могу добавить в MSYS, чтобы все компилировалось без ошибок?
Примечание. Вы можете скачать netcat здесь и просмотреть репозиторий CVS здесь