Как правильно скомпилировать программу с библиотекой HTTPRequest, C++

Использую header-only библиотеку HTTPRequest (GitHub)

Мой код (взят из README):

#include <iostream>
#include "HTTPRequest.hpp"
#include <string>
using namespace std;

int main() {
    try
    {
    // you can pass http::InternetProtocol::V6 to Request to make an IPv6 request
    http::Request request("http://ident.me");

    // send a get request
    const http::Response response = request.send("GET");
    std::cout << std::string(response.body.begin(), response.body.end()) << '\n'; // print the result
    }
    catch (const std::exception& e)
    {
    std::cerr << "Request failed, error: " << e.what() << '\n';
    }
    return 0;
}

При компиляции получаю не стандартные ошибки, а вот это:

C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.rdata+0x58): undefined reference to `closesocket@4'      
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail7WinSockC1Ev[__ZN4http6detail7WinSockC1Ev]+0x2c): undefined reference to `_imp__WSAStartup@8'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail7WinSockC1Ev[__ZN4http6detail7WinSockC1Ev]+0xa0): undefined reference to `_imp__WSACleanup@0'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail7WinSockD1Ev[__ZN4http6detail7WinSockD1Ev]+0x14): undefined reference to `_imp__WSACleanup@0'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail12getLastErrorEv[__ZN4http6detail12getLastErrorEv]+0x7): undefined reference to `_imp__WSAGetLastError@0'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail6SocketC1ENS_16InternetProtocolE[__ZN4http6detail6SocketC1ENS_16InternetProtocolE]+0x31): undefined reference to `_imp__socket@12'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail6SocketD1Ev[__ZN4http6detail6SocketD1Ev]+0x1c): undefined reference to `_imp__closesocket@4'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail6Socket7connectEPK8sockaddri[__ZN4http6detail6Socket7connectEPK8sockaddri]+0x20): undefined reference to `_imp__connect@12'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail6Socket4sendEPKvji[__ZN4http6detail6Socket4sendEPKvji]+0x27): undefined reference to `_imp__send@16'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http6detail6Socket4recvEPvji[__ZN4http6detail6Socket4recvEPvji]+0x27): undefined reference to `_imp__recv@16'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http7Request4sendERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIhSaIhEERKS9_IS6_SaIS6_EE[__ZN4http7Request4sendERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIhSaIhEERKS9_IS6_SaIS6_EE]+0xf1): undefined reference to `_imp__getaddrinfo@16'
C:\Users\POSITR~1\AppData\Local\Temp\cclx6zxV.o:myprogram.cpp:(.text$_ZN4http7Request4sendERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIhSaIhEERKS9_IS6_SaIS6_EE[__ZN4http7Request4sendERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIhSaIhEERKS9_IS6_SaIS6_EE]+0x180): undefined reference to `_imp__freeaddrinfo@4'
collect2.exe: error: ld returned 1 exit status

Использую MinGW на Windows 10. Как я сам понял, я должен дать компилятору какие-то дополнительные параметры, но я не могу понять какие. Как можно это исправить?


Ответы (0 шт):