所以,我有一个使用 xerces-c
c++ 库的程序。我试图修改它以在程序运行时不要求库存在,因为它的某些部分可以独立运行。是否可以使用 dlopen()
加载库来完成此操作,同时仍然使用 gcc 中的链接器在编译时解析符号?也许我遗漏了一些东西,但 xerces-c API 似乎很难与 dlsym()
一起使用,这就是我试图找到解决方法的原因。
最佳答案
在这种情况下,最简单的解决方案是将您的程序分成两部分,一个没有 xerces-c
依赖关系的主程序,一个有依赖关系的共享库。然后您dlopen
您的共享库,它加载xerces
并使用它。通过这种方式,您基本上可以定义自己的库 API。
关于c++ - 是否可以将 gcc 的链接器与 dlopen 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28078270/