WINVER,winsock和htonl()

时间:2011-11-04 10:20:32

标签: windows winsock

当我没有定义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

我需要做一些奇怪的事吗?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您正在编译Windows,那么#include winsock2.h和ws2tcpip.h并链接到ws2_32.lib。另外,请确保在尝试任何网络功能之前致电WSAStartup