所以,我有一个使用xerces-c
c ++库的程序。我试图修改它,以便在程序运行时不要求库存在,因为它的一部分可以独立运行。是否可以使用dlopen()
来加载库,同时仍然使用gcc中的链接器在编译时解析符号?也许我错过了一些东西,但xerces-c API似乎很难与dlsym()
一起使用,这就是我试图找到解决方法的原因。
答案 0 :(得分:3)
在这种情况下最简单的解决方案是将程序拆分为两部分,一个没有xerces-c
依赖关系的主程序,以及一个共享库。然后你dlopen
共享库,它加载xerces
并使用它。通过这种方式,您可以基本上定义自己的库API。