Lavoro in Linux con C++ (Eclipse) e voglio usare una libreria. Eclipse mi mostra un errore:Errore C++ Linux: riferimento non definito a 'dlopen'
undefined reference to 'dlopen'
Sai una soluzione?
Qui è il mio codice:
#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);
}
ho incontrato lo stesso problema ... Ho aggiunto il flag del compilatore in Progetto> Proprietà> C/C++ Build> Impostazioni> (My Linker) > Varie nel campo di testo Flag del linker. Non ha fatto nulla. – MirroredFate
Ha, ok, per chiunque abbia questo problema, usa il percorso sopra, eccetto andare alle Librerie piuttosto che alle Varie e aggiungere "dl" – MirroredFate
Questa risposta è stata d'aiuto. Per chiunque voglia trovare la posizione di libdl.so, basta andare alla directory root e digitare 'locate libdl.so' – Nav