public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* stdc++ and shared objects
@ 1999-12-10  6:30 pmills
  1999-12-31 22:24 ` pmills
  0 siblings, 1 reply; 2+ messages in thread
From: pmills @ 1999-12-10  6:30 UTC (permalink / raw)
  To: help-gcc

I've recently moved from 2.8x gcc to 2.95.1 on Solaris 2.6.  There are
some real improvements, but I'm confused about using the C++ standard
libraries.

My application uses a number of shared objects/dynamic libraries (.so
files).  Within that code I use C++ standard classes such as <fstream>,
<map>, and a bunch of others.

With the 2.8 release and libstdc++.so, this worked fine, but with the
static version of stdc++ I'm not sure what I'm supposed to do.  If I
don't link with the .a library, I get unresolved symbols at run time
for anything in my .so that's not also in my primary executable (which
*is* linked against libstdc++.a).  If I try to link my .so explicitly
with libstdc++.a, it fails with a bunch of "Text relocation remains"
errors.  I assume this is because the .a file contents were not
compiled PIC.

Are there instructions somewhere for doing this?  Thanks in advance for
and hints or pointers.


Sent via Deja.com http://www.deja.com/
Before you buy.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* stdc++ and shared objects
  1999-12-10  6:30 stdc++ and shared objects pmills
@ 1999-12-31 22:24 ` pmills
  0 siblings, 0 replies; 2+ messages in thread
From: pmills @ 1999-12-31 22:24 UTC (permalink / raw)
  To: help-gcc

I've recently moved from 2.8x gcc to 2.95.1 on Solaris 2.6.  There are
some real improvements, but I'm confused about using the C++ standard
libraries.

My application uses a number of shared objects/dynamic libraries (.so
files).  Within that code I use C++ standard classes such as <fstream>,
<map>, and a bunch of others.

With the 2.8 release and libstdc++.so, this worked fine, but with the
static version of stdc++ I'm not sure what I'm supposed to do.  If I
don't link with the .a library, I get unresolved symbols at run time
for anything in my .so that's not also in my primary executable (which
*is* linked against libstdc++.a).  If I try to link my .so explicitly
with libstdc++.a, it fails with a bunch of "Text relocation remains"
errors.  I assume this is because the .a file contents were not
compiled PIC.

Are there instructions somewhere for doing this?  Thanks in advance for
and hints or pointers.


Sent via Deja.com http://www.deja.com/
Before you buy.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-12-31 22:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-12-10  6:30 stdc++ and shared objects pmills
1999-12-31 22:24 ` pmills

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).