Trabajo en Linux con C++ (Eclipse) y quiero usar una biblioteca. Eclipse me muestra un error:Error de Linux C++: referencia indefinida a 'dlopen'
undefined reference to 'dlopen'
¿Conoce una solución?
Aquí está mi código:
#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>
int main(int argc, char **argv) {
void *handle;
double (*desk)(char*);
char *error;
handle = dlopen ("/lib/CEDD_LIB.so.6", RTLD_LAZY);
if (!handle) {
fputs (dlerror(), stderr);
exit(1);
}
desk= dlsym(handle, "Apply");
if ((error = dlerror()) != NULL) {
fputs(error, stderr);
exit(1);
}
dlclose(handle);
}
se han topado con el mismo problema ... Agregué el indicador del compilador en Proyecto> Propiedades> Compilación de C/C++> Configuración> (Mi enlazador) > Varios en el campo de texto de banderas del enlazador. No hizo nada. – MirroredFate
Ha, vale, para cualquier otra persona que tenga este problema, utilice la ruta anterior, excepto ir a Bibliotecas en lugar de Miscelánea y agregue el 'dl' – MirroredFate
Esta respuesta ayudó. Para cualquiera que quiera encontrar la ubicación de libdl.so, solo vaya al directorio raíz y escriba 'locate libdl.so' – Nav