J'ai écrit une bibliothèque et je veux la tester. J'ai écrit le programme suivant, mais j'obtiens un message d'erreur d'eclipse.Utilisation de la bibliothèque C++ sous Linux (eclipse)
#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"); // ERROR: cannot convert from 'void *' to 'double*(*)(char*)' for argument 1
if ((error = dlerror()) != NULL) {
fputs(error, stderr);
exit(1);
}
dlclose(handle);
}
Qu'est-ce qui ne va pas?
Cordialement.
Si cela est C++, pourquoi est-il ressembles tellement C? –