【问题标题】:Glibc error: invalid mode for dlopen(): Invalid argumentGlibc 错误:dlopen() 的无效模式:无效参数
【发布时间】:2020-07-26 11:08:28
【问题描述】:

我正在尝试使用 dlopen 在运行时加载动态库。我这样称呼它:

dlopen("/absolute/path/to/libFoo.so", 0);

这会产生以下错误:

invalid mode for dlopen(): Invalid argument

此代码在 macOS 上完美运行,但在 Ubuntu 18.04.4 LTS 上失败。这个错误是什么意思,我该如何解决?

【问题讨论】:

    标签: glibc dynamic-linking dlopen


    【解决方案1】:

    此代码在 macOS 上完美运行

    这并不意味着它没有错误。

    这个错误是什么意思,我该如何解决?

    来自man page:以下两个值之一必须包含在标志中:RTLD_LAZYRTLD_NOW

    你没有包含任何一个标志,这是你的程序中的一个错误,GLIBC 告诉你。

    要修复它,请将0 替换为RTLD_LAZYRTLD_NOW,以适合您的程序为准。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-30
      • 2016-08-17
      • 2016-01-05
      • 2020-10-16
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多