Manual de libtool *************************** ( 1.0 ) "libtool" is the programme for creating static and shared libraries . It's part of the GNU binutils ( Binary Utilities ) . The tool for creating Dynamic linker libraries is "dlltool" which isn't present in the Redhat Linux 7.0 distribution . To create a static library , do the following : $ c++ -c del.c++ ( this will create del.o - the object code ) $ ar cru libdel.a del.o ( this will create libdel.a - the static library ) $ ranlib libdel.a ( this will test libdel.a ) To create a shared library , do the following : $ libtool c++ -c del.c++ ( this will create del.lo ) $ libtool c++ -o libdel.la del.lo -rpath /usr/lib ( this will create libdel.la and libdel.so , libdel.so.0 etc in the .libs directory which is hidden . ) Now copy the libdel.so , libdel.so.0 and libdel.so.0.0.0 to the /usr/lib directory . The "-rpath" option is needed to create the *.so files , though it won't place them in the /usr/lib directory . It's a good practice to test the del.c++ file before making it a shared or static library by combining it with any C++ file having the main function . The strace utility can be a handy tool to watch the linking process if anything goes wrong . Various libraries are located in the /usr/lib/* directories and are loaded successfully while execution takes place , but I have so far failed to use this feature . So the new libraries must be placed in the /usr/lib or the /lib directory instead of /usr/lib/* or /lib/* directories . ** To use strace write "$ strace executive_file_name " and press enter . *** The argument for "-rpath" option can be any valid pathname instead of /usr/lib .