c++ - Linux C++错误: undefined reference to 'dlopen'

标签 c++ linux eclipse

我在 Linux 中使用 C++ (Eclipse) 工作,并且想要使用一个库。 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

到你的链接器选项

关于c++ - Linux C++错误: undefined reference to 'dlopen' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55079602/

相关文章:

c++ - 读取 svm 数据并用更多数据重新训练?

php - 在 PHP 代码中启用禁用 Cron

android - 无法执行 dex : Multiple dex files define Lcom/actionbarsherlock/R$attr

android - wifiManager.startScan 不返回任何结果(请需要一些指导)

c++ - 如何将 std::chrono::time_point 转换为 long 并返回?

c++ - 允许在 Cmake 中相互依赖

带模板的 C++ 共享库 : Undefined symbols error

linux - sudo make 返回错误

linux - 使用linux比较解析的数据以及在 ' if '或while循环中使用该比较

Python 日志文件配置 KeyError : 'formatters'