A NetBSD/i386 1.2 platform with shared libraries. You can follow these examples on your own platform, using the preconfigured libtool script that was installed with libtool (*note Configuring::). Source files for the following examples are taken from the 'demo' subdirectory of the libtool distribution. Assume that we are building a library, 'libhello', out of the files 'foo.c' and 'hello.c'. Note that the 'foo.c' source file uses the 'cos' math library function, which is usually found in the standalone math library, and not the C library (*note Trigonometric Functions: (libc)Trig Functions.). So, we need to add '-lm' to the end of the link line whenever we link 'foo.lo' into an executable or a library (*note Inter-library dependencies::). The same rule applies whenever you use functions that don't appear in the standard C library... you need to add the appropriate '-lNAME' flag to the end of the link line when you link against those objects. After we have built that library, we want to create a program by linking 'main.o' against 'libhello'. * Menu: * Creating object files:: Compiling object files for libraries. * Linking libraries:: Creating libraries from object files. * Linking executables:: Linking object files against libtool libraries. * Debugging executables:: Running GDB on libtool-generated programs. * Installing libraries:: Making libraries available to users. * Installing executables:: Making programs available to users. * Static libraries:: When shared libraries are not wanted.