Related articles |
---|
Solaris/g++ linking problems Slattery_T@bls.gov (2004-09-03) |
Re: Solaris/g++ linking problems ppluzhnikov@charter.net (Paul Pluzhnikov) (2004-09-07) |
Re: Solaris/g++ linking problems josejuanmr@lycos.es (Jose Juan Mendoza Rodriguez) (2004-09-07) |
From: | Paul Pluzhnikov <ppluzhnikov@charter.net> |
Newsgroups: | comp.compilers |
Date: | 7 Sep 2004 23:50:08 -0400 |
Organization: | Posted via Supernews, http://www.supernews.com |
References: | 04-09-027 |
Keywords: | C++, linker |
Posted-Date: | 07 Sep 2004 23:50:08 EDT |
Slattery_T@bls.gov (Tim Slattery) writes:
> I suspect that g++ uses a different name mangling convention than the
> Sun compiler that created the *.so files.
You bet. In general, object files compiled with different C++
compilers are not link-compatible, and the different mangling schemes
are used to make sure nobody can succeed in linking such objects
together.
You've been saved: had you succeeded in linking, you'd be likely
looking at a runtime crash, which would have been much harder to
debug, especially without the source to the library.
> Is there anything that can convert the *.so files into
> something that I can use?
No. But you can ask the vendor to supply you with a g++-linkable
version of the library. Be sure to ask for specific g++ version,
as object layout (and link compatibility) has changed between
g++-2.95.x, 3.0, 3.1, and 3.2 (AFAIK).
Cheers,
--
In order to understand recursion you must first understand recursion.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.