Mail Archives: djgpp/1998/08/24/04:02:24
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 -