天天看点

undefined reference to `crypto_get_random'

  编译时的一个错误:

/usr/bin/ld: /home/quantum6/telecom/build_libs/lib/libtinyRTP.so: undefined reference to `crypto_get_random'
collect2: error: ld returned 1 exit status
make: *** [Makefile:687:telepresence] 错误 1      

  具体来说,就是libtinyRTP引用到srtp,而srtp中没有这个函数。可是要编译通过,代码又不好大改(doubango的接口真的很老了)。怎么办?

  在libsrtp的历史记录中,有以下一段内容:

Commits on Nov 5, 2014
Remove crypto_get_random() since it's been agreed that libsrtp should…  …
@jfigus
jfigus committed on 5 Nov 2014      

  就是说,2014年开始就删除了。结果过了6年,doubango还是没有更新。可能为了兼容?

  解决办法就是使用老库,或者删除这个代码。

https://github.com/quantum6/libsrtp-1.5.0

继续阅读