delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Message-ID: | <417ADE6A.7090804@familiehaase.de> |
Date: | Sun, 24 Oct 2004 00:42:50 +0200 |
From: | "Gerrit P. Haase" <gp AT familiehaase DOT de> |
Organization: | Esse keine toten Tiere |
User-Agent: | Mozilla/5.0 (Windows; U; WinNT4.0; de-AT; rv:1.7.3) Gecko/20040910 |
MIME-Version: | 1.0 |
To: | Judd <jbogus1 AT yahoo DOT com> |
CC: | cygwin AT cygwin DOT com |
Subject: | Re: Build/Linker question again (g++) |
References: | <clb7sb$bar$1 AT sea DOT gmane DOT org> |
In-Reply-To: | <clb7sb$bar$1@sea.gmane.org> |
X-IsSubscribed: | yes |
Judd wrote: > The error I'm getting now is: > ---------------------------- > /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/libgcc.a(_chkstk.o)(.text+0x0): > multiple definition of `__alloca' > > /usr/lib/libcygwin.a(d000085.o)(.text+0x0): first defined here > > /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/libgcc.a(_eprintf.o)(.text+0x0): > multiple definition of `___eprintf' > > /usr/lib/libcygwin.a(d000027.o)(.text+0x0): first defined here > > --------------------------------- > > From the build command: > > ------------------------- > > g++ -shared \ > -nodefaultlibs \ > -o libInventor.dll \ > -Wl,--out-implib=libInventor.dll.a \ > -Wl,--export-all-symbols \ > -Wl,--enable-auto-import \ > -Wl,--whole-archive \ > libInventor.a \ > -WL,--no-whole-archive \ > -L/usr/lib \ > -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3 \ > -L/usr/X11R6/lib \ > -L/usr/lib/w32api \ > -L../libimage \ > -L../libFL/src \ > -ljpeg.dll -limage -lFL -lX11.dll -lfltk_gl.dll -lGLU.dll \ > -lGL.dll -liconv.dll -lfreetype.dll -lcygwin -lstdc++ \ > -lasprintf -lz -lkernel32 -lgcc You don't need to add the .dll prefix, the linker should automatically pick up the .dll.a import lib if both, import lib and static archives are present. > ----------------------------- > > I'm using nodefaultlibs because I had a problem linking before where I was > getting lots of multiple definition errors from essentially the same > library. Using nodefaultlibs and linking all the libs I need by hand has > fixed all those, but I have those last 2 multiple definition errors. Is > there any way to link libcygwin and libgcc without getting multiple > definitions of ___eprintf and __alloca? It seems bizarre that those 2 would > conflict. Maybe there's a command line option that I need to be using in my > build command. There is no option like nodefaultlibs: $ ld --help | grep nodefaultlibs Try -nostdlib instead. Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |