是否可以将gcc的链接器与dlopen结合使用?

时间:2015-01-21 22:46:46

标签: c++ linux gcc

所以,我有一个使用xerces-c c ++库的程序。我试图修改它,以便在程序运行时不要求库存在,因为它的一部分可以独立运行。是否可以使用dlopen()来加载库,同时仍然使用gcc中的链接器在编译时解析符号?也许我错过了一些东西,但xerces-c API似乎很难与dlsym()一起使用,这就是我试图找到解决方法的原因。

1 个答案:

答案 0 :(得分:3)

在这种情况下最简单的解决方案是将程序拆分为两部分,一个没有xerces-c依赖关系的主程序,以及一个共享库。然后你dlopen共享库,它加载xerces并使用它。通过这种方式,您可以基本上定义自己的库API。