博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux环境下编译pjsip库
阅读量:3751 次
发布时间:2019-05-22

本文共 2454 字,大约阅读时间需要 8 分钟。

  1. 下载pjsip库并解压

    $ tar -jxvf pjproject-2.9.tar.bz2

     

  2. 编译

    $ 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
  3. 如果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库,安装即可

  4. apt-get install libasound2-dev

    而在centos系统下yum install找不到libasound-dev,这时需要下面指令安装。

    yum install alsa-lib-devel

    安装后reboot系统,重新编译即可。

  5. 安装:若想将库安装到系统中,执行

    make install
    安装后pjlib生成的库文件位于/usr/local/lib
  6.  为了减少链接多个库文件,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/

你可能感兴趣的文章
类的内存模型(二)
查看>>
生产者消费者模型
查看>>
#剑指offer Day2 一类可以用“框架”快速搞定的二叉树问题
查看>>
#剑指offer Day3 一类 “ 斐波那契 ”问题
查看>>
#剑指offer Day4 一类 “ 双指针 ”问题
查看>>
#剑指offer Day5 # 分享两个题的其他解法
查看>>
缓存淘汰算法的实现与应用介绍(LRU,LFU)
查看>>
JZ15. 反转链表
查看>>
1. 两数之和
查看>>
2. 两数相加
查看>>
JZ1.二维数组的查找
查看>>
String 类
查看>>
什么是接口
查看>>
Java高级篇之进程
查看>>
类加载机制
查看>>
了解jdk1.8版本一些新的特性
查看>>
Java高级篇之网络通讯
查看>>
浅谈篇之线程池
查看>>
Lambda 表达式
查看>>
字符串函数MySQL
查看>>