Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2010, 12:56
joandoc
 
Fecha de Ingreso: mayo-2006
Mensajes: 79
Antigüedad: 18 años
Puntos: 0
Librerías dinamicas en c en linux

Hola necesito usar librerias dinamicas en linux pero cuando queiro ejecutarla me tira este error.

error while loading shared libraries: libdll.so: cannot open shared object file: No such file or directory


dll.c

Código c:
Ver original
  1. #include <stdio.h>
  2.  
  3. int hola(){
  4.     printf("Hola!!! Esto es un lindo Shared Object\n");
  5. return 0;
  6. }


dll.h

Código c:
Ver original
  1. #ifndef _DLL_H
  2. #define _DLL_H
  3.  
  4. int hola();
  5.  
  6. #endif


ejemplo.c
Código c:
Ver original
  1. #include <dll.h>
  2.  
  3. int main(){
  4.  
  5.     hola();
  6. return 0;
  7. }


y tengo el Makefile

Código c:
Ver original
  1. CFLAGS=-Wall -I.
  2. CC=gcc
  3.  
  4. all: ejemplo
  5.  
  6.  
  7. # Creamos el ejecutable ejemplo previamente  compilada la libreria dinamica
  8. # -ldll es para linkear con la libreria
  9. ejemplo: ejemplo.o libdll.so
  10.     $(CC) -o ejemplo $(CFLAGS) ejemplo.o -L. -Bdynamic -ldll
  11.     rm ejemplo.o
  12.  
  13. # Creamos la libreria dinamica.
  14. libdll.so: dll.c
  15.     $(CC) $(CFLAGS) -c -o dll.o dll.c
  16.     ld -o libdll.so dll.o -shared
  17.     rm dll.o



complilar compila bien pero desp quiero ejecutar y me tira el error.
a que se debe?