下面的代码无法编译。我收到两个错误:
_TCHAR* pStrAddress;
... some stuff here...
IN_ADDR sa;
InetPton(AF_INET, pStrAddress, &sa);
*pIP = sa.S_un.S_addr;
1) IN_ADDR --> 错误 C2065: 'AF_INET': 未声明的标识符
2) InetPton(...) --> C3861: 'InetPton': 未找到标识符
我的配置如下:
- VS-2019 专业版
- Windows SDK 10.0.18362.0(截至 2019 年 9 月 26 日的最新版本)
- 当我按 F12(转到定义)时,以下文件会在编辑器中打开(C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\inaddr.h 和 C:\Program Files (x86 )\Windows 工具包\10\Include\10.0.18362.0\um\WS2tcpip.h)。
- 项目设置“C/C++ | 常规 | 附加包含目录”选中了“从父级或项目默认值继承”复选框。
- Ws2_32.lib 存在于“链接器|附加依赖项”中(但我的问题不是关于链接问题,或者还没有)
- 我的程序使用 unicode 并且 InetPton(...) 扩展为 InetPtonW,这是正确的。
要恢复,从编辑器中可以访问符号,但预处理器/编译器似乎没有相同的路径。显然,我遗漏了一些很可能很明显的东西。您的帮助将不胜感激。
谢谢!