Linux OpenLDAP与x27之间的冲突;s libldap和Oracle';s occi图书馆
我正在编写一个小工具来检查来自一个Oracle数据库和LDAP的数据。 考虑到性能,我决定使用C/C++,因此我使用开放式ldap库和oracle occi库。现在将每个库的包装放在一起,我注意到如果我将程序与oracle库链接,ldap库中的函数将失败。更进一步,我看到oracle库中定义的函数与openldap库中定义的函数同名。 现在我在web上没有找到关于这个问题的太多信息,一些人建议首先链接ldap库,但这不行,它在init()上不再失败,但不会超过connect() 我正在Linux(Ubuntu)上开发,我使用的库都是C。 有人对此有什么建议吗?一定有其他人有这个问题 任何想法都是最受欢迎的。Linux OpenLDAP与x27之间的冲突;s libldap和Oracle';s occi图书馆,linux,oracle,ldap,conflict,symbols,Linux,Oracle,Ldap,Conflict,Symbols,我正在编写一个小工具来检查来自一个Oracle数据库和LDAP的数据。 考虑到性能,我决定使用C/C++,因此我使用开放式ldap库和oracle occi库。现在将每个库的包装放在一起,我注意到如果我将程序与oracle库链接,ldap库中的函数将失败。更进一步,我看到oracle库中定义的函数与openldap库中定义的函数同名。 现在我在web上没有找到关于这个问题的太多信息,一些人建议首先链接ldap库,但这不行,它在init()上不再失败,但不会超过connect() 我正在Linux
非常感谢除非这些函数也是API入口点,否则您应该能够将它们作为共享库链接到一起,使其正常工作。然后每个库将使用它自己的函数版本,除非您自己调用它,否则您无法看到任何一个版本
如果相关函数是API入口点,即LDAP API,则会出现一些非常奇怪的情况。您可以通过在链接阶段指定“-lldap-llber”来解决此问题
确保在链接阶段的末尾指定了oracle库。ldap与liblber有依赖关系 我将ldap库构建为共享库,并将两者作为共享库进行链接。这是在我链接oracle的libclntsh时发生的,请参见下面的:
objdump-T libclntsh.so | grep“ldap_sasl_bind_s”00fec288 g DF text。不太可能是0000004c Base ldap_sasl_bind_
@seven,这似乎表明oracle库已经包含了您所需的所有内容。试着用它。