我正在尝试在运行时使用dlopen加载动态库。我这样称呼它:
dlopen("/absolute/path/to/libFoo.so", 0);
这会产生以下错误:
invalid mode for dlopen(): Invalid argument
此代码在macOS上运行完美,但在Ubuntu 18.04.4 LTS上失败。该错误的含义是什么,我该如何解决?
此代码在macOS上完美运行
这并不意味着它没有错误。
此错误的含义是什么,如何解决?
来自man page:以下两个值之一[必须包括在标志中:RTLD_LAZY
,RTLD_NOW
。
要解决此问题,请将0
替换为RTLD_LAZY
或RTLD_NOW
,以适合您的程序为准。