Неявное объявление функции ether_ntoa недопустимо в C99
Это часть серии функций, которые извлекают IP и Mac адреса из телефона.
strcpy(temp, (char *)ether_ntoa((const struct ether_addr *)LLADDR(sdl)));
РЕДАКТИРОВАТЬ: эквивалентной функции не требуется, только несколько пропущенных заголовков.
РЕДАКТИРОВАТЬ: Добавлено приведение к LLADDR(SDL)
2 ответа
Решение
Насколько я понимаю, сообщение об ошибке не утверждает, что функция отсутствует, только то, что вы не включили ее объявление. (Я не знаю, существует ли он, только что сообщение содержит другую жалобу.)
Если это поможет, man ether_ntoa
говорит мне:
#include <sys/types.h>
#include <sys/socket.h>
#include <net/ethernet.h>
Я включил следующий заголовочный файл и исходный код успешно скомпилирован:
#import <arpa/inet.h>