我正在尝试通过dl
这种方式加载模块库,使模块可以从主应用程序访问全局变量。那怎么可能呢?
我从 dlopen 收到一条错误消息,说library/name.so: undefined symbol: ...
. 唯一使用的标志是:RTLD_NOW
.
模块本身是使用 libtool 构建的,带有-module -avoid-version
.
我正在尝试通过dl
这种方式加载模块库,使模块可以从主应用程序访问全局变量。那怎么可能呢?
我从 dlopen 收到一条错误消息,说library/name.so: undefined symbol: ...
. 唯一使用的标志是:RTLD_NOW
.
模块本身是使用 libtool 构建的,带有-module -avoid-version
.
答案是:-Wl,--export-dynamic
在链接主二进制文件时使用,因此所有符号都会自动导出到加载的库中。
同样的问题,只是问的不同:使用 dlopen 加载库时收到“未定义符号”错误