2017-01-02 3 views
0

Я извлек программу из stackoverflow answer и попытался скомпилировать его, используя MSVC++ V6 IDE, но компилятор жалуется, что у меня нет какой-либо из следующих .h заголовочные файлы:Где найти отсутствующие файлы «C». (* .h)

#include <sys/socket.h> 
#include <netinet/in.h> 
#include <arpa/inet.h> 
#include <net/if.h> 
#include <ifaddrs.h> 
#include <errno.h> 

Как получить эти отсутствующие файлы include?

+0

Скорее всего, из-за того, что вы не используете 'gcc' для запуска вашей программы. Я не являюсь поклонником разработки MSVC и Windows, но вы можете скомпилировать программу, установив 'Mingw-w64' в Windows с помощью этой [link] (https://mingw-w64.org/doku.php/download) , – hmofrad

+0

дубликат: user3629249

ответ

2

Файлы заголовков, которые вы упомянули выше, связаны с дистрибутивом на основе Linux. Они используются для программирования сокетов в Linux. Вы можете легко запустить этот код в дистрибутиве на основе Linux.

0

Отсутствующие файлы заголовков являются заголовками unix/linux.

API сокетов Windows немного отличается от API сокетов Berkely (сокеты в Linux). В Windows большинство требуемых деклараций доступны через один файл include, либо старый winsock.h, либо новый winsock2.h.

Вам необходимо будет внести дополнительные изменения, чтобы портировать код. Есть хорошие руководства по porting socket applications to Winsock на MSDN.

Смежные вопросы