DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(libtool14.info.gz) Building modules

Info Catalog (libtool14.info.gz) Dlopened modules (libtool14.info.gz) Dlpreopening
 
 9.1 Building modules to dlopen
 ==============================
 
 On some operating systems, a program symbol must be specially declared
 in order to be dynamically resolved with the `dlsym' (or equivalent)
 function.
 
    Libtool provides the `-export-dynamic' and `-module' link flags
 ( Link mode), which do this declaration.  You need to use these
 flags if you are linking an application program that dlopens other
 modules or a libtool library that will also be dlopened.
 
    For example, if we wanted to build a shared library, `libhello',
 that would later be dlopened by an application, we would add `-module'
 to the other link flags:
 
      burger$ libtool gcc -module -o libhello.la foo.lo \
                      hello.lo -rpath /usr/local/lib -lm
      burger$
 
    If symbols from your _executable_ are needed to satisfy unresolved
 references in a library you want to dlopen you will have to use the flag
 `-export-dynamic'.  You should use `-export-dynamic' while linking the
 executable that calls dlopen:
 
      burger$ libtool gcc -export-dynamic -o hell-dlopener main.o
      burger$
 
Info Catalog (libtool14.info.gz) Dlopened modules (libtool14.info.gz) Dlpreopening
automatically generated byinfo2html