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