当我没有定义WINVER时,我的(msvc9)构建中充满了警告,它表示它默认为0x0600(Vista),但它构建正常。当我定义WINVER = 0x501(XP)时,我收到此错误: -
error C3861: 'htonl': identifier not found
我宁愿使用WINVER = 0x0501而不是0x0600,但我不知道如何解决它!
我注意到了http://west-chamber-season-2.googlecode.com/svn-history/r2/trunk/wcs2_cli.c
中的内容#ifdef WINVER
#include <winsock.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif
我需要做一些奇怪的事吗?有什么想法吗?
答案 0 :(得分:1)
如果您正在编译Windows,那么#include winsock2.h和ws2tcpip.h并链接到ws2_32.lib。另外,请确保在尝试任何网络功能之前致电WSAStartup
。