嗯 我编译是1.3和1.8就出错,2.4(最新版本)就不出错了。然而,我用的代码使用的是1.3和1.8的版本 https://github.com/klaus3000/QjSimple
编译项目SSL出错::-1: error: ../pjproject-2.4/pjlib/lib/libpj-i686-pc-linux-gnu.a(ssl_sock_ossl.o): undefined reference to symbol ‘X509_free@@OPENSSL_1.0.0′
/lib/i386-linux-gnu/libcrypto.so.1.0.0:-1: error: error adding symbols: DSO missing from command line
然后我试图把项目里ssl去掉就media-codec出错,应该是需要重新编译去掉ssl:
../pjproject-2.4/pjmedia/lib/libpjmedia-codec-i686-pc-linux-gnu.a(audio_codecs.o):-1: In function `pjmedia_codec_register_audio_codecs’:
../pjproject-2.4/pjmedia/lib/libpjmedia-codec-i686-pc-linux-gnu.a(audio_codecs.o):-1: In function `pjmedia_codec_register_audio_codecs’: …
…
…
然后我发觉试试运行pjsua的demo,竟然可以用,那么肯定是qt项目里配置有问题。最后,看了下编译过程加载的包,然后编译项目成功了。
linux-g++:LIBS += -lpjsua2-i686-pc-linux-gnu -lstdc++ -lpjsua-i686-pc-linux-gnu \
-lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu \
-lpjmedia-codec-i686-pc-linux-gnu -lpjmedia-i686-pc-linux-gnu -lpjmedia-videodev-i686-pc-linux-gnu \
-lpjmedia-audiodev-i686-pc-linux-gnu -lpjmedia-i686-pc-linux-gnu -lpjnath-i686-pc-linux-gnu \
-lpjlib-util-i686-pc-linux-gnu -lsrtp-i686-pc-linux-gnu -lresample-i686-pc-linux-gnu -lgsmcodec-i686-pc-linux-gnu \
-lspeex-i686-pc-linux-gnu -lilbccodec-i686-pc-linux-gnu -lg7221codec-i686-pc-linux-gnu -lportaudio-i686-pc-linux-gnu \
-lpj-i686-pc-linux-gnu -luuid -lm -lrt -lpthread -lasound
没有博客所以激动随便贴这里,应该会有人需要的吧。
谢谢。