cURL
Haxx ad
libcurl
Automatically get a mirror near you





COMPARE PRICES:
Digital cameras, MP3 Players, Camcorders, Mobile phones, PDA, Computers, Electronics LCD monitors, Printers, Notebook, DVD Players, Motherboards, TV, ipod, Processors. See all...

Shopping cart software
Online collaboration software

SourceForge.net Logo

cURL > Mailing List > Monthly Index > Single Mail

curl-library Mailing List Archives

RE: static link

From: James Dennett <jdennett_at_technocom-wireless.com>
Date: Thu, 14 Sep 2006 11:14:42 -0700

(Apologies for top-posting. Outlook doesn't quote properly in any way
that I can find.)

The command
  gcc -lstdc++ -L/usr/lib /usr/lib/libcurl.a -static-libgcc -o logexe
suggests that the problem may be your use of LINKCC -- you need to
arrange that the static libraries come after the object file that use
them on the command line, usually.

-- James

-----Original Message-----
From: curl-library-bounces_at_cool.haxx.se
[mailto:curl-library-bounces_at_cool.haxx.se] On Behalf Of Richard Pickett
Sent: Thursday, September 14, 2006 10:32 AM
To: 'libcurl development'
Subject: RE: static link

> > Is there a way to link in libcurl static?
>
> ./configure --disable-shared will build only a static libcurl, which
is
> all
> you should need as long as you don't have a dynamic libcurl lying
around
> somewhere else on your system. Otherwise, include the path of
libcurl.a
> (or
> libcurl.la if you're using libtool) when linking your app instead of
using
> -lcurl

thanks for the quick reply. This is what I had in my makefile:

LINKCC = $(CC) -lstdc++ -L/usr/lib -lcurl -lz -lssl -lcrypto -ldl
-static-libgcc

and this is what I changed it to:

LINKCC = $(CC) -lstdc++ -L/usr/lib /usr/lib/libcurl.a -static-libgcc

And now make complains with:

gcc -lstdc++ -L/usr/lib /usr/lib/libcurl.a -static-libgcc -o logexe
license.o logexe.o
license.o(.text+0x3d): In function `LicenseExit()':
: undefined reference to `curl_easy_cleanup'
license.o(.text+0x1a0): In function `CheckLicense()':
: undefined reference to `curl_easy_init'
license.o(.text+0x391): In function `CheckLicense()':
: undefined reference to `curl_easy_setopt'
license.o(.text+0x3ac): In function `CheckLicense()':
: undefined reference to `curl_easy_setopt'
license.o(.text+0x3c1): In function `CheckLicense()':
: undefined reference to `curl_easy_setopt'
license.o(.text+0x3d2): In function `CheckLicense()':
: undefined reference to `curl_easy_perform'

it only goes away when I go back to the old -lcurl jumk. I've checked
and my
libcurl.a is there so I'm at a loss to why gcc won't pull it in. Here's
an
objdump on libcurl.a:

objdump -t /usr/lib/libcurl.a | grep curl_easy
000000e0 g F .text 0000003f curl_easy_init
00000120 g F .text 0000001e curl_easy_setopt
00000140 g F .text 00000098 curl_easy_perform
000001e0 g F .text 00000040 curl_easy_cleanup
00000220 g F .text 0000001b curl_easy_getinfo
00000240 g F .text 000001c5 curl_easy_duphandle

thanks again for your help!
Received on 2006-09-14

These mail archives are generated by hypermail.

donate! Page updated October 16, 2006.
web site info