www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/08/24/04:02:24

Message-Id: <199808211447.QAA24894@ieva06.lanet.lv>
From: "Andris Pavenis" <pavenis AT lanet DOT lv>
To: djgpp AT delorie DOT com, "Dan Bogdanov" <dan AT parnu DOT ee>
Date: Fri, 21 Aug 1998 16:51:08 +0300
MIME-Version: 1.0
Subject: Re: What do I need ?
In-reply-to: <35dd4b54$0$429@diablo.uninet.ee>

From:           	"Dan Bogdanov" <dan AT parnu DOT ee>
Subject:        	What do I need ?
To:             	djgpp AT delorie DOT com

> I'm using DJGPP v2. GCC281B and BNU281B.
> 
> And I've got a problem, I don't understand.
> Many programs, especially ones who use graphics libraries etc. don't compile
> and report undefined references to procedures like terminate, __eh_pc and
> __throw. They should be in the libstdcx.a library, which exists on the
> system, but why can't my system find them ?
> 
> Please help, as I 'm not so good, that I could rewrite these programs.
> 

You are mixing libraries (and/or object files) compiled by different 
versions of gcc (for example gcc-2.7.2.1 and gcc-2.8.1). It is OK to 
do this with C but NOT with C++. There were even problems using
libraries built with gcc-2.8.0 with gcc-2.8.1 (warning: there will be 
similar problems with upcomming egcs-1.1)

So please either get all C++ libraries built with the same compiler 
version as You are using or rebuild them from sources.

Symbols __eh_pc and __throw are defined in libgcc.a which is 
specific to compiler version.

Andris

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019