Buenas!
Espero que alguien me pueda echar una manita con un tema de desarrollo de librerías para Linux.
El caso es que he desarrollado una librería dinámica que a la vez utiliza otra librería dinámica. Ahora estoy intentando utilizar mi librería en una aplicación sin mucho exito y sin llegar a entender el proceso completo de creacion de .so, inclusión de .so en mi aplicación y el uso de las funciones de mi librería en el codigo de la aplicación.
Los pasos que sigo son los siguientes (el código de mi librería no tiene "main" y está compuesta de 3 modulos .c y sus .h):
1. creo los objetos de cada modulo con
gcc -fPIC -g -c -Wall -I/usr/include/DIRlibreriaExterna modulo1.c -llibreriaExterna
gcc -fPIC -g -c -Wall -I/usr/include/DIRlibreriaExterna modulo2.c -llibreriaExterna
gcc -fPIC -g -c -Wall -I/usr/include/DIRlibreriaExterna modulo3.c -llibreriaExterna
2. creo la libreria con los objetos con
gcc -shared -Wl,-soname,libMiLibreria.so.1 -o libMiLibreria.so.1.0.1 modulo1.o modulo2.o modulo3.o -lc
3. instalo mi librería recien creada copiándola en /usr/lib
4. la enlazo con el "soname" con
ldconfig -n /usr/lib
Ahora me hago la aplicación mas tonta del mundo que simplemente llama a una función de mi librería y la compilo con
gcc -Wall main.c -o app -lMiLibreria
Y me dice que no esta declarada implicitamente la función y después que no se puede encontrar mi librería. Si añado el parametro -L para indicar done esta la libreria me ocurre lo mismo.
¿Porque no me está cogiendo la libreria??
Y otras preguntas que me surgen para entender el funcionamiento son:
Al crear mi librería pasándole la librería externa, ¿en el .so que genero están ambas librerías incluidas?
¿Para hacer la aplicación que use mi librería es necesario tener los .h de los modulos usados para crear la librería?
Y por ultimo, ¿existe alguna forma de dejar solo disponible unas funciones determinadas en mi libreria y no todas las funciones que estén contenida en ella? (una especie de export como ocurre con las DLLs.
Siento el tocho, pero llevo haciendo pruebas con lo que voy leyendo y ni me aclaro ni lo consigo

Gracias por leer!!!!!