本文共 2454 字,大约阅读时间需要 8 分钟。
$ tar -jxvf pjproject-2.9.tar.bz2
$ cd pjproject-2.9$ ./configure$ make dep$ make
编译成功后生成静态库:
pjlib/lib pjlib-util/libpjmedia/libpjnath/libpjsip/libthird_party/lib
如果报错,赋权即可:
chmod 777 configure
or
chmod 755 ./configure
如果make过程中报错:,或者拨号时报以下错误
12:39:55.753 os_core_unix.c !pjlib 2.1 for POSIX initialized 12:39:55.754 sip_endpoint.c .Creating endpoint instance... 12:39:55.754 pjlib .select() I/O Queue created (0x93f1a80) 12:39:55.754 sip_endpoint.c .Module "mod-msg-print" registered 12:39:55.754 sip_transport. .Transport manager created. 12:39:55.754 pjsua_core.c .PJSUA state changed: NULL --> CREATED 12:39:55.769 pjsua_core.c .pjsua version 2.1 for Linux-3.0.0.17/i686/glibc-2.13 initialized (-1, -2) 12:39:55.770 pjsua_aud.c .Error retrieving default audio device parameters: Invalid audio device (PJMEDIA_EAUD_INVDEV) [status=420004] Exception: Object: Lib, operation=set_current_sound_devices(), error=Invalid audio device (PJMEDIA_EAUD_INVDEV)
这是因为没有安装libasound-dev库,安装即可
apt-get install libasound2-dev
而在centos系统下yum install找不到libasound-dev,这时需要下面指令安装。
yum install alsa-lib-devel
安装后reboot系统,重新编译即可。
make install安装后pjlib生成的库文件位于/usr/local/lib
为了减少链接多个库文件,pjsip工程会生成一个配置文件libpjproject.pc
位于路径/usr/local/lib/pkgconfig/libpjproject.pc下# Package Information for pkg-configprefix=/usr/localexec_prefix=${prefix}libdir=/usr/local/libincludedir=/usr/local/includeName: libpjprojectDescription: Multimedia communication libraryURL: http://www.pjsip.orgVersion: 2.9Libs: -L${libdir} -lpjsua2-x86_64-unknown-linux-gnu -lstdc++ -lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua-x86_64-unknown-linux-gnu -lpjsip-simple-x86_64-unknown-linux-gnu -lpjsip-x86_64-unknown-linux-gnu -lpjmedia-codec-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu -lpjmedia-videodev-x86_64-unknown-linux-gnu -lpjmedia-audiodev-x86_64-unknown-linux-gnu -lpjmedia-x86_64-unknown-linux-gnu -lpjnath-x86_64-unknown-linux-gnu -lpjlib-util-x86_64-unknown-linux-gnu -lsrtp-x86_64-unknown-linux-gnu -lresample-x86_64-unknown-linux-gnu -lgsmcodec-x86_64-unknown-linux-gnu -lspeex-x86_64-unknown-linux-gnu -lilbccodec-x86_64-unknown-linux-gnu -lg7221codec-x86_64-unknown-linux-gnu -lyuv-x86_64-unknown-linux-gnu -lwebrtc-x86_64-unknown-linux-gnu -lpj-x86_64-unknown-linux-gnu -lssl -lcrypto -luuid -lm -lrt -lpthread -lasound Cflags: -I${includedir} -g -O2 -I/usr/local/include -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1
转载地址:http://dqcsn.baihongyu.com/