g++ and libstdc++

Jonathan Wakely jwakely.gcc@gmail.com
Mon Jan 10 22:07:00 GMT 2011

On 10 January 2011 20:50, Deol, Mandeep <mdeol@ti.com> wrote:
> Hi All,
> I am working on a project to switch our gcc compiler from version  3.4.6 to 4.4.5. Our current build machines have 3.4.6 as the default c++ compiler and we installed 4.4.5 at a different location (/apps/gcc/......). The new installation of 4.4.5 comes with its own set of c++ headers and libstdc++, thus when I try to run the app built with the newer version of the compiler it does not run. I know one way to get this to work is to update libstdc++ on the system or set LD_LIBRARY_PATH to use the newer libs.

You can also set an RPATH in the app, using
-Wl,-rpath,/apps/gcc/...../lib (or .../lib64) so the runtime linker
knows where to find the libraries without needing LD_LIBRARY_PATH.

> I am wondering if it is some how possible to get 4.4.5 to use the old headers and libstdc++?

Probably not.

I can't think of any offhand, but there are probably some bugs in the
old libstdc++ headers which were not diagnosed by GCC 3.4.5, but which
the newer, more strictly-confirming 4.4.5 compiler will complain

You could try it though, by using -I/apps/gcc/.../include and

You might need to specify other directories for platform-specific
headers and libraries, use -v to see the default include and library
paths.  You might also be able to make use of -nostdinc++

More information about the Gcc-help mailing list