Message-Id: <199808211447.QAA24894@ieva06.lanet.lv> From: "Andris Pavenis" To: djgpp AT delorie DOT com, "Dan Bogdanov" Date: Fri, 21 Aug 1998 16:51:08 +0300 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: What do I need ? In-reply-to: <35dd4b54$0$429@diablo.uninet.ee> Precedence: bulk From: "Dan Bogdanov" 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