Glibc 2 HOWTO: Compiling C++ programs.

Next Previous Contents

## 7. Compiling C++ programs.

Libg++ uses parts of the math library, so is link to libm. Since your existing libg++ will be compiled with your old library, you will have to recompile libg++ with glibc or get a binary copy. The latest source for libg++ along with a binary linked with glibc (for x86) can be found at ftp://ftp.yggdrasil.com/private/hjl/.

## 7.1 Installing libg++ for a test glibc install.

If you have installed glibc as a test library, you need to install the files into the directory you installed glibc into (such as `/usr/i486-linuxglibc2` for the example in the previous sections). If you are installing from the binary package (which i would recommend, since i never had any luck compiling libg++ this way), you need to extract the files into a temporary directory and move all the `usr/lib/` files into the `<install directory>/lib/` directory, the `usr/include/` files into the `<install directory>/include/` directory (remember to delete your `include/g++` link first!), and the `usr/bin/` files into the `<install directory>/bin/` directory.

## 7.2 Installing libg++ for a primary glibc install.

If you have installed glibc as the primary library, you first need to move your old libg++ files into your old libc directory if you still want to be able to compile g++ programs with your old libc. Probably the easiest way to do this is by installing a new copy of the libg++ compiled with libc 5 as in the previous section, and then installing the glibc version normally.

## 7.3 Compiling C++ programs with the non-primary libc.

If you are trying to compile a C++ program with a non-primary libc, you will need to include the g++ include dir, which in the examples above would be `/usr/i486-linuxglibc2/include/g++` for a test glibc install or `/usr/i486-linuxlibc5/include/g++` for a primary glibc install. This can usually be done by appending the `$CXXFLAGS` variable:

> `

>      CXXFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -I/usr/i486-linuxlibc5/include/g++ -b i486-linuxglibc2

> `

Next Previous Contents