我使用 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
到您的链接器选项