liangjww 2023-09-14 09:47 采纳率: 0%
浏览 7

动态库冲突问题如何解决

请求帮助,目前遇到一个动态库冲突问题,不知道怎么解决。如:主程序test使用了国密库,此时依赖了gmssl的libssl.so.1.1。主程序运行过程中需要动态加载一个插件,这个插件是自己封装的,实现是调用了第三方厂家的sdk,该sdk的核心库依赖了openssl的libssl.so.1.1,这时候dlopen函数动态加载插件时,插件因为调用到的是gmssl的libssl.so.1.1导致崩溃,这种情况应该怎么解决。

  • 写回答

2条回答 默认 最新

  • 波塞冬~ 2023-09-14 09:52
    关注

    同名动态库放在不同的文件夹,在编译和链接命令中使用“-l”选项来完成指定要使用的库的路径和名称,比如:

    g++ main.cpp -L/path/to/mylib -lmylib
    

    如果解决你的问题,请点赞采纳,谢谢。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月14日