I think you need to link against ws2_32.lib from the Windows SDK as well.

Best,

Patrick

> Am 12.04.2022 um 18:29 schrieb Julien Matthey via curl-library 
> <curl-library@lists.haxx.se>:
> 
> Hello,
> 
> Here is the process I followed:
> 
> - Downloaded and built curl-7.82.0 (with the cmake BUILD_SHARED_LIBS option 
> set to OFF).
> 
> - I created a sample project and linked against: libcurl-d.lib (for debug 
> builds); libcurl.lib (for release builds).
> 
> - Added the -DCURL_STATICLIB flag to my compiler options in Visual Studio 
> (this is the correct syntax for doing it as of now).
> 
> My super simple sample project is:
> 
> 
> #include <curl/curl.h>
> 
> int main(int argc, char** argv) {
>     CURL* curl;
>     CURLcode res;
>     curl_global_init(CURL_GLOBAL_ALL);
>     curl = curl_easy_init();
> 
>     if (curl) {
>         curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.com";);
>         res = curl_easy_perform(curl);
>         if (res != CURLE_OK)
>             fprintf(stderr, "curl_easy_perform() failed: %s\n", 
> curl_easy_strerror(res));
> 
>         curl_easy_cleanup(curl);
>     }
>     curl_global_cleanup();
> 
>     return 0;
> }
> 
> 
> This gives me linker errors:
> 
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_send référencé dans la fonction multi_wait
> 1>libcurl-d.lib(asyn-thread.obj) : error LNK2001: symbole externe non résolu 
> __imp_send
> 1>libcurl-d.lib(sendf.obj) : error LNK2001: symbole externe non résolu 
> __imp_send
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_send
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSACloseEvent référencé dans la fonction curl_multi_cleanup
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSACloseEvent
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSACreateEvent référencé dans la fonction Curl_multi_handle
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSACreateEvent
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSAEnumNetworkEvents référencé dans la fonction multi_wait
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAEnumNetworkEvents
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSAEventSelect référencé dans la fonction multi_wait
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAEventSelect
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSAResetEvent référencé dans la fonction multi_wait
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSASetEvent référencé dans la fonction curl_multi_wakeup
> 1>libcurl-d.lib(multi.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSAWaitForMultipleEvents référencé dans la fonction multi_wait
> 1>libcurl-d.lib(asyn-thread.obj) : error LNK2019: symbole externe non résolu 
> __imp_closesocket référencé dans la fonction destroy_async_data
> 1>libcurl-d.lib(connect.obj) : error LNK2001: symbole externe non résolu 
> __imp_closesocket
> 1>libcurl-d.lib(hostip.obj) : error LNK2001: symbole externe non résolu 
> __imp_closesocket
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_closesocket
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAGetLastError
> 1>libcurl-d.lib(tftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAGetLastError
> 1>libcurl-d.lib(asyn-thread.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAGetLastError
> 1>libcurl-d.lib(sendf.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAGetLastError
> 1>libcurl-d.lib(connect.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAGetLastError
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAGetLastError
> 1>libcurl-d.lib(sendf.obj) : error LNK2019: symbole externe non résolu 
> __imp_recv référencé dans la fonction Curl_read_plain
> 1>libcurl-d.lib(connect.obj) : error LNK2001: symbole externe non résolu 
> __imp_recv
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_bind référencé dans la fonction bindlocal
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_bind
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_bind
> 1>libcurl-d.lib(tftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_bind
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_connect référencé dans la fonction singleipconnect
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_connect
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_getpeername référencé dans la fonction Curl_conninfo_remote
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_getpeername
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_getsockname référencé dans la fonction Curl_conninfo_local
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_getsockname
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_getsockname
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_getsockopt référencé dans la fonction Curl_sndbufset
> 1>libcurl-d.lib(smb.obj) : error LNK2019: symbole externe non résolu 
> __imp_htons référencé dans la fonction smb_connect
> 1>libcurl-d.lib(telnet.obj) : error LNK2001: symbole externe non résolu 
> __imp_htons
> 1>libcurl-d.lib(doh.obj) : error LNK2001: symbole externe non résolu 
> __imp_htons
> 1>libcurl-d.lib(connect.obj) : error LNK2001: symbole externe non résolu 
> __imp_htons
> 1>libcurl-d.lib(hostip.obj) : error LNK2001: symbole externe non résolu 
> __imp_htons
> 1>libcurl-d.lib(curl_addrinfo.obj) : error LNK2001: symbole externe non 
> résolu __imp_htons
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_htons
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_ntohs référencé dans la fonction Curl_addr2string
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_ntohs
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_setsockopt référencé dans la fonction Curl_sndbufset
> 1>libcurl-d.lib(transfer.obj) : error LNK2001: symbole externe non résolu 
> __imp_setsockopt
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_setsockopt
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_socket référencé dans la fonction Curl_socket
> 1>libcurl-d.lib(hostip.obj) : error LNK2001: symbole externe non résolu 
> __imp_socket
> 1>libcurl-d.lib(socketpair.obj) : error LNK2001: symbole externe non résolu 
> __imp_socket
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSASetLastError référencé dans la fonction Curl_is_connected
> 1>libcurl-d.lib(select.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSASetLastError
> 1>libcurl-d.lib(curl_addrinfo.obj) : error LNK2001: symbole externe non 
> résolu __imp_WSASetLastError
> 1>libcurl-d.lib(connect.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSAIoctl référencé dans la fonction tcpkeepalive
> 1>libcurl-d.lib(transfer.obj) : error LNK2001: symbole externe non résolu 
> __imp_WSAIoctl
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_inet_pton
> 1>libcurl-d.lib(urlapi.obj) : error LNK2001: symbole externe non résolu 
> __imp_inet_pton
> 1>libcurl-d.lib(connect.obj) : error LNK2001: symbole externe non résolu 
> __imp_inet_pton
> 1>libcurl-d.lib(hostip.obj) : error LNK2001: symbole externe non résolu 
> __imp_inet_pton
> 1>libcurl-d.lib(socks.obj) : error LNK2001: symbole externe non résolu 
> __imp_inet_pton
> 1>libcurl-d.lib(curl_addrinfo.obj) : error LNK2001: symbole externe non 
> résolu __imp_inet_pton
> 1>libcurl-d.lib(system_win32.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSAStartup référencé dans la fonction Curl_win32_init
> 1>libcurl-d.lib(system_win32.obj) : error LNK2019: symbole externe non résolu 
> __imp_WSACleanup référencé dans la fonction Curl_win32_init
> 1>libcurl-d.lib(select.obj) : error LNK2019: symbole externe non résolu 
> __WSAFDIsSet référencé dans la fonction Curl_poll
> 1>libcurl-d.lib(select.obj) : error LNK2019: symbole externe non résolu 
> __imp_select référencé dans la fonction our_select
> 1>libcurl-d.lib(socketpair.obj) : error LNK2019: symbole externe non résolu 
> __imp_accept référencé dans la fonction Curl_socketpair
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_accept
> 1>libcurl-d.lib(socketpair.obj) : error LNK2019: symbole externe non résolu 
> __imp_htonl référencé dans la fonction Curl_socketpair
> 1>libcurl-d.lib(socketpair.obj) : error LNK2019: symbole externe non résolu 
> __imp_listen référencé dans la fonction Curl_socketpair
> 1>libcurl-d.lib(ftp.obj) : error LNK2001: symbole externe non résolu 
> __imp_listen
> 1>libcurl-d.lib(curl_addrinfo.obj) : error LNK2019: symbole externe non 
> résolu __imp_getaddrinfo référencé dans la fonction Curl_getaddrinfo_ex
> 1>libcurl-d.lib(curl_addrinfo.obj) : error LNK2019: symbole externe non 
> résolu __imp_freeaddrinfo référencé dans la fonction Curl_getaddrinfo_ex
> 1>libcurl-d.lib(tftp.obj) : error LNK2019: symbole externe non résolu 
> __imp_recvfrom référencé dans la fonction tftp_receive_packet
> 1>libcurl-d.lib(tftp.obj) : error LNK2019: symbole externe non résolu 
> __imp_sendto référencé dans la fonction tftp_rx
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_init référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_unbind_s référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_set_option référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_simple_bind_s référencé dans la fonction ldap_win_bind
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_search_s référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_msgfree référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_err2string référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_first_entry référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_next_entry référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_first_attribute référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_next_attribute référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_get_values_len référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_value_free_len référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_get_dn référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ldap_memfree référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(ldap.obj) : error LNK2019: symbole externe non résolu 
> __imp_ber_free référencé dans la fonction _ldap_free_urldesc
> 1>libcurl-d.lib(nonblock.obj) : error LNK2019: symbole externe non résolu 
> __imp_ioctlsocket référencé dans la fonction curlx_nonblock
> 1>libcurl-d.lib(curl_gethostname.obj) : error LNK2019: symbole externe non 
> résolu __imp_gethostname référencé dans la fonction Curl_gethostname
> 
> Note: if I compile against the .dll imp. libs (libcurl-d_imp.lib; 
> libcurl_imp.lib) I don't get any linker error and my sample compiles. But 
> then of course I need to use the .dll and I don't want to.
> 
> -Julien
> 
> -- 
> Unsubscribe: https://lists.haxx.se/listinfo/curl-library
> Etiquette:   https://curl.haxx.se/mail/etiquette.html
-- 
Unsubscribe: https://lists.haxx.se/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to