title: How do I solve these libcurl linking errors?
body: <pre><code>[Administrator@windows ~]$ g++ client.cpp -lcurl -o client.exe
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x23): undefined reference to `_imp__curl_global_init'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x5f): undefined reference to `_imp__curl_formadd'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x9b): undefined reference to `_imp__curl_formadd'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0xa2): undefined reference to `_imp__curl_easy_init'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0xc8): undefined reference to `_imp__curl_easy_setopt'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0xe4): undefined reference to `_imp__curl_easy_setopt'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0xf1): undefined reference to `_imp__curl_easy_perform'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x101): undefined reference to `_imp__curl_easy_cleanup'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x10e): undefined reference to `_imp__curl_formfree'
  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x11b): undefined reference to `_imp__curl_slist_free_all'
  collect2: ld returned 1 exit status
  </code></pre>
  
  <p>I don't have this problem on linux so I don't know why this happens on windows. I googled  it already and didn't find anything except mailing list archives with the same question and reply saying "google it".</p>
  
  <p>I'm using mingw. I did get some linker warnings when I built libcurl but they seemed to be ssl related and I don't know if it's a big deal because it  built without errors.</p>
  
  <pre><code>*** Warning: linker path does not have real file for library -lssl.
  *** I have the capability to make that library automatically link in when
  *** you link to this library.  But I can only do this if you have a
  *** shared version of the library, which you do not appear to have
  *** because I did check the linker path looking for a file starting
  *** with libssl and none of the candidates passed a file format test
  *** using a file magic. Last file checked: /ssl/lib/libssl.a
  
  *** Warning: linker path does not have real file for library -lcrypto.
  *** I have the capability to make that library automatically link in when
  *** you link to this library.  But I can only do this if you have a
  *** shared version of the library, which you do not appear to have
  *** because I did check the linker path looking for a file starting
  *** with libcrypto and none of the candidates passed a file format test
  *** using a file magic. Last file checked: /ssl/lib/libcrypto.a
  
  *** Warning: linker path does not have real file for library -lz.
  *** I have the capability to make that library automatically link in when
  *** you link to this library.  But I can only do this if you have a
  *** shared version of the library, which you do not appear to have
  *** because I did check the linker path looking for a file starting
  *** with libz and none of the candidates passed a file format test
  *** using a file magic. Last file checked: /mingw/lib//libz.a
  *** The inter-library dependencies that have been dropped here will be
  *** automatically added whenever a program is linked with this library
  *** or is declared to -dlopen it.
  
  *** Since this library must not contain undefined symbols,
  *** because either the platform does not support them or
  *** it was explicitly requested with -no-undefined,
  *** libtool will only create a static version of it.
  </code></pre>