Copyright (C) 2000-2012 |
GNU Info (libtool.info)Building modulesBuilding 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 (Note: 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$ automatically generated by info2www version 1.2.2.9 |