"inet_ntoa"未声明错误
'inet_ntoa' not declared error
我想使用inet_ntoa函数写入以下代码:
printf("Got connection from: %s:%dn", inet_ntoa(cli_addr.sin_addr.s_addr), cli_addr.sin_port);
使用以下内容包括:
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
但是,使用 g++/gcc 我总是收到错误:
错误:"inet_ntoa"未在此范围内声明
如果我评论那行,代码就很好。
在 Ubuntu12.04 下运行。
谁能告诉我我错过了什么?
谢谢!
从man inet_ntoa
看来,您必须在包含标头之前定义_BSD_SOURCE
:
#define _BSD_SOURCE
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
相关文章:
- 在气泡排序程序中未声明错误功能
- 我在范围内未声明的错误类有问题
- 我的代码中有错误,未声明的标识符
- 错误:在 C++ 'std'使用未声明的标识符
- 重载时未在 C++ 的作用域错误中声明
- 未声明的标识符错误,但变量定义正确 (?)
- 在此范围内未声明错误"Clreol"
- 错误:在 C++ 目标 c 混合'self'使用未声明的标识符
- "myClock"未在此范围错误中声明
- 构造中错误:未在此范围中声明"data"
- 错误: C2065: "QTcpSocket" : 未声明的标识符
- C++:outFile错误:outFile未声明
- Qt for wasm: 错误: 使用未声明的标识符 'QThreadPool'
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 奇怪的未声明变量编译器错误
- 我收到未声明的标识符错误,但我已包含头文件?
- 尝试在Linux Mint 17.1 64位上"make" C++项目时从cstdlib和类似内容编译错误(未声明/不是类型)
- C++错误未声明的标识符,但殷智感知不显示错误
- 骰子游戏c++错误未声明的标识符/代码审查
- C++错误未声明的标识符