cURL / Mailing Lists / curl-library / Single Mail

curl-library

Awaiting an Answer for Wiin 32 Install

From: T kyer <xdtrq_at_ananzi.co.za>
Date: Wed, 22 Jun 2005 19:40:05 +0200

 I'm sorry I had no choice but to unsubscribe and then
resubscribe as I wasn't getting all the email messages.
Seems OK thus far. I'm making progress with the install
issue thanks to Philippe H & Daniel S. However I'm still
struggling thru the compile errors.
Philippe I'm not sure if I'm implementing your instruction
correctly "and don't forget to add "-lcurl" ..." (had no
problem with the other instructions). I created a project
with the file listed below and under Dev C++ Project
options/Parameters/Links I inserted both
F:/Programming Tools/Dev-C++ 5/Dev-Cpp/lib/libcurl.a"
    and for good measure
F:/Programming Tools/Dev-C++ 5/Dev-Cpp/lib/-lcurl"
and since I'm not interested in the dynamic library I
stopped there.
 the new errors I'm getting are:
 Circular "Libcurl <- "Libcurl dependency dropped.
 Circular Test <- "Libcurl dependency dropped.
 Circular Test <- Test dependency dropped.
 [Build Error] No rule to make target `2.o"', needed by
`Test'. Stop.

I don't think its the example I'm using as it is one
included with libcurl and other libcurl examples produce
identical error messages.
Any suggestions?
Thanks
Xlor

You have to download the minGW package on libcurl binaries
download page (at the very back of the page).
Put the .a in the lib directory
put the .c and .h in some include/libcurl directory ...

and don't forget to add "-lcurl" or "-lcurldll" to your
linker options in dev-cpp

Finally, if you've chosen to use the curldll, don't forget
to put the dll in the path (c:\windows or your app path).

Phil

 
        "T kyer" <xdtrq_at_ananzi.co.za>

Envoyé par : curl-library-bounces_at_cool.haxx.se
20/06/2005 01:41
Veuillez répondre à libcurl development
Remis le : 20/06/2005 01:56
Pour : curl-library_at_cool.haxx.se
cc : (ccc : Philippe HAMEAU/DRD/SAGEM)
Objet : Libcurl Install and Use Issues
         

Gentlemen,

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++ 4.9.9.1 & 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
curl-7.14.0.zip 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
`_imp__pthread_create'
[Linker error] undefined reference to
`_imp__pthread_join'

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 */

#define CURL_STATICLIB

#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:

http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION

*/
char *urls[]= {
"http://curl.haxx.se/",
"ftp://cool.haxx.se/",
"http://www.contactor.se/",
"www.haxx.se"
};

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 */
curl_easy_cleanup(curl);

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 */
pull_one_url,
urls[i]);
if(0 != error)
fprintf(stderr, "Couldn't run thread number %d,
errno %d\n", i, error);
else
fprintf(stderr, "Thread %d, gets %s\n", i,
urls[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
help.

Thanks

Xlor
Received on 2005-06-22