我使用C ++(Eclipse)在Linux中工作,并且想要使用一个库。
Eclipse向我显示了一个错误:

undefined reference to 'dlopen'


你知道解决方案吗?

这是我的代码:

#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);
}

最佳答案

您必须针对libdl进行链接,添加


  -ldl


到您的链接器选项

09-10 02:28
查看更多