Почему-то с параметром -std=c99 не собирается простейший код:
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
int main(void) {
struct addrinfo hints;
return 0;
}
./resolv_test.c: In function ‘main’:
./resolv_test.c:6: error: storage size of ‘hints’ isn’t known
А вот если убрать std=c99 то всё будет нормально. Глядя в инклуды вижу
#ifdef __USE_POSIX
struct addrinfo
...
Что надо указать компилеру чтобы __USE_POSIX врубился? :)
Помню всякие дефайны были типа GNU_SOURCE, XOPENSOURCE итп, это из этой же оперы?
Может, просто #define __USE_POSIX воткнуть? :)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум inet_ntop после getaddrinfo ловит segfault (2012)
- Форум getaddrinfo выдает нулевые адреса 0.0.0.0 (2022)
- Форум Сокеты. (2004)
- Форум портирование проекта linux -> windows (2008)
- Форум В чем ошибка чтения? (2020)
- Форум [C++, boost::spirit::phoenix, std::get] Обернуть std::get в phoenix-овскую function (2011)
- Форум BROADCAST sendto вызывает Permission denied (2004)
- Форум Как получить свой IP адрес? (2005)
- Форум Программирование сокетов (2003)
- Форум C++ и исключение abi::__forced_unwind (2017)