在c中集成3pp lib时重叠函数名称

时间:2014-01-01 19:10:53

标签: c libwebsockets

我正在尝试将第三方库(libwebsockets)集成到应用程序中。

现在结果证明libwebsockets具有以下功能:

unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md);

应用程序具有类似的功能

char *SHA1(char *string)

不幸的是,libwebsockts在执行期间使用了app中的函数而不是它自己的函数。

  1. 现在这样的检测情况的规范方法是什么,以便更容易集成3pp-lib(在逐步调试大量代码之后发现这个冲突)? (如果有可用的技巧,我使用visual studio)

  2. 应用程序(和/或)lib中的设计是否允许这种情况发生?

1 个答案:

答案 0 :(得分:0)

  1. 这样的情况不应该发生。如果您尝试这样做,应该发生编译器错误(或至少发出警告)。这两个函数不兼容,我看不到对库的3参数SHA1()的调用如何成为对1参数版本的调用。
  2. 在构建过程中可能有问题,或者在其他地方缺少声明。