vc获取本地ipv6地址的出错?
#include "IPHelper/Iphlpapi.h"
#pragma comment(lib, "IPHelper/IPHLPAPI.LIB")
void getLocalIPV6(char *IPAddr)
{
PIP_ADAPTER_ADDRESSES pAddresses;
ULONG outBufLen = 0;
DWORD dwRetVal = 0;
char buff[100];
DWORD bufflen=100;
int addrLen = sizeof(SOCKADDR_STORAGE);
pAddresses = (IP_ADAPTER_ADDRESSES*) malloc(sizeof(IP_ADAPTER_ADDRESSES));
// 第一次使用 GetAdaptersAddresses 从 outBufLen 中获取需要的缓冲区大小
if (GetAdaptersAddresses(AF_INET6, 0, NULL, pAddresses, &outBufLen) == ERROR_BUFFER_OVERFLOW)
{
free(pAddresses);
pAddresses = (IP_ADAPTER_ADDRESSES*) malloc(outBufLen);
}
// 第二次调用GetAdaptersAddresses 获取实际想获取的信息.
if ((dwRetVal = GetAdaptersAddresses(AF_INET6, 0 , NULL, pAddresses, &outBufLen)) == NO_ERROR)
{
PIP_ADAPTER_ADDRESSES pCurrAddresses = pAddresses;
while (pCurrAddresses)
{
if(pCurrAddresses->FirstUnicastAddress !=NULL)
{
WSAAddressToString(pCurrAddresses->FirstUnicastAddress->Address.lpSockaddr,
pCurrAddresses->FirstUnicastAddress->Address.iSockaddrLength,NULL,buff,&bufflen);
if (strncmp(buff,"fe80",4)==0||strcmp(buff,"::1") ==0)
{
}
else
{
memcpy(IPAddr,buff,bufflen);
return;
}
}
pCurrAddresses = pCurrAddresses->Next;
}
}
}
出错的原因是:
error LNK2001: unresolved external symbol _GetAdaptersAddresses@20
网上说是IPHLPAPI.LIB没有加进来,但是我已经加了,还是报错,求高手解决一下。