cURL / Mailing Lists / curl-library / Single Mail


Libcurl Install and Use Issues

From: T kyer <>
Date: Mon, 20 Jun 2005 01:41:12 +0200


Great job with curl! Unfortunately I have been unable to
enjoy it's benefits. First, I'm confused as to what is the
source code for libcurl ONLY?

I have been unable to install the libcurl source code (or
at lest what I believe to be the libcurl source) properly
in mingw (actually I'm using Dev C++ & Win 98se) as
a library resource to be used with personal source code.

The installation document says I need to run a file named
MINGW32.BAT. But where on earth is this file.

Well never mind if it doesn't exist please provide manual
install instructions for Dev C or mingw or both. So far I
have installed *.h & *.c in the mingw include folder in its
own libcurl folder. And no I did not forget to associate
the libcurl folder to the C, C++ And project
include/libcurl directories. However I did get a barrage of
errors when using your many examples including simple.c,
getinmemory.c, httpput.c, multi-post.c, multithread.c, etc.
With Projects I included every *.h & */c included in the file for compiling in addition to the
sample code with other compilation errors resulting. I am
not using the ssl feature to keep it simple thus far. The
errors I got during single file compilation were almost
identical for all of them with the exception of pthread
when it was not used and called for:

  [Linker error] undefined reference to `curl_easy_init'
  [Linker error] undefined reference to `curl_easy_setopt'
  [Linker error] undefined reference to `curl_easy_perform'

  [Linker error] undefined reference to `curl_easy_cleanup'

  [Linker error] undefined reference to
  [Linker error] undefined reference to

The samp;e Source code (multithread.c) being used follows:

   * _ _ ____ _
   * Project ___| | | | _ \| |
   * / __| | | | |_) | |
   * | (__| |_| | _ <| |___
   * \___|\___/|_| \_\_____|
   * $Id: multithread.c,v 1.2 2004/11/16 08:49:51 bagder
Exp $
  /* A multi-threaded example that uses pthreads
extensively to fetch
   * X remote files at once */
  #include <stdio.h>
  #include <pthreads/pthread.h>
  #include <libcurl/curl.h>
  #include <windows.h>
  #include <libcurl/multi.h>
  using namespace std;
    List of URLs to fetch.
    If you intend to use a SSL-based protocol here you MUST
setup the OpenSSL
    callback functions as described here:
  char *urls[]= {
  void *pull_one_url(void *url)
    CURL *curl;
    curl = curl_easy_init();
    curl_easy_setopt(curl, CURLOPT_URL, url);
    curl_easy_perform(curl); /* ignores error */
    return NULL;
     int pthread_create(pthread_t *new_thread_ID,
     const pthread_attr_t *attr,
     void * (*start_func)(void *), void *arg);
  int main(int argc, char **argv)
    pthread_t tid[4];
    int i;
    int error;
    for(i=0; i< 4; i++) {
      error = pthread_create(&tid[i],
                             NULL, /* default attributes
please */
      if(0 != error)
        fprintf(stderr, "Couldn't run thread number %d,
errno %d\n", i, error);
        fprintf(stderr, "Thread %d, gets %s\n", i,
    /* now wait for all threads to terminate */
    for(i=0; i< 4; i++) {
      error = pthread_join(tid[i], NULL);
      fprintf(stderr, "Thread %d terminated\n", i);
    return 0;
I've spent way too much time on this trivial install issue.
I need some directions to steer me. I'd appreciate any


Received on 2005-06-20