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

mirror server hosted at Truenetwork, Russian Federation.