Проблемы с программированием сокетов на C

#function #header

Вопрос:

У меня проблема при использовании функции InetPtonW (), объявленной в WS2tcpip.h. Хотя я включил WS2tcpip.h и проверил, что InetPtonW() находится в заголовке, компилятор сообщает мне, что InetPtonW() не определен. Я попытался добавить-lwsock32 при компиляции, к сожалению, это не работает.

Следующие коды показывают, что я написал.

Надеюсь, кто-нибудь сможет помочь мне решить эту проблему.

Это мой первый раз, когда я задаю проблемы с переполнением стека, пожалуйста, простите меня, если я сделал что-то неправильно.

/——————————-коды начинаются здесь——————————/

 #include<iostream>
#include<fstream>
#include<vector>
#include<iomanip>

#include<string>//c_str()
#include<string.h>

#include<WS2tcpip.h>
#include<insock2.h">

#pragma comment (lib, "ws2_32.lib")

using namespace std;

//int inet_pton(int af, const char *src, void *dst);

int main()
{
    string ip = "140.116.177.150";
    int port = 54000;

    //Initialize winsock
    WSAData data;
    WORD ver = MAKEWORD(2,2);
    int ws = WSAStartup(ver, amp;data);//success 0, failed -1
    if(ws != 0)
    {
        cout<<"Cant' start winsock, Err = "<<ws<<endl;
        return -1;
    }
    //Create socket
    SOCKET client_socket = socket(AF_INET, SOCK_STREAM, 0);
    if(client_socket==-1)
    {
        cout<<"Can't create socket"<<endl;
        WSACleanup();
        return -2;
    }
    //Fill in a hint structure
    sockaddr_in hint;
    hint.sin_family = AF_INET;
    hint.sin_port = htons(port);
    //inet_pton(AF_INET, ip.c_str(), amp;hint.sin_addr);
 

/———————-Неопределенная функция находится здесь——————————/

     InetPtonW(AF_INET, ip.c_str(), amp;hint.sin_addr);
 

/———————-Неопределенная функция находится здесь——————————/

     //Connect to sever
    int cs = connect(client_socket, (sockaddr*)amp;hint, sizeof(hint));
    if(cs == SOCKET_ERROR)
    {
        cout<<"Can't connect to server, Err = "<<WSAGetLastError()<<endl;
        closesocket(client_socket);
        WSACleanup();
        return -3;
    }
    //While loop
    //close everything

    return 0;
}