首页 > 系统相关 >Linux下移植pjsip使用QT开发

Linux下移植pjsip使用QT开发

时间:2024-01-22 09:12:13浏览次数:32  
标签:none QT gnueabi Linux pjsip linux local arm

Linux下移植pjsip,使用QT开发

1、移植pjsip
env:fedora14
arm-linuc-gcc:gcc version 4.5.1 (ctng-1.8.1-FA)
#./configure \
CC=arm-linux-gcc \
CROSS_COMPILE=arm-none-linux-gnueabi- \
--build=i386-linux \
--prefix=/usr/local/pjsip \
--host=arm-none-linux-gnueabi \
--target=arm-none-linux-gnueabi
#make dep
#make
#make install
2、将pjsip库加载进QT工程中
将以下库添加到pro文件中
unix:!macx:!symbian: LIBS += -L/usr/local/pjsip/lib/ -lpjsua-arm-none-linux-gnueabi \
-lpjsip-ua-arm-none-linux-gnueabi \
-lpjsip-simple-arm-none-linux-gnueabi \
-lpjsip-arm-none-linux-gnueabi \
-lpjmedia-codec-arm-none-linux-gnueabi \
-lpjmedia-videodev-arm-none-linux-gnueabi \
-lpjmedia-arm-none-linux-gnueabi \
-lpjmedia-audiodev-arm-none-linux-gnueabi \
-lpjnath-arm-none-linux-gnueabi \
-lpjlib-util-arm-none-linux-gnueabi \
-lresample-arm-none-linux-gnueabi \
-lmilenage-arm-none-linux-gnueabi \
-lsrtp-arm-none-linux-gnueabi \
-lgsmcodec-arm-none-linux-gnueabi \
-lspeex-arm-none-linux-gnueabi \
-lilbccodec-arm-none-linux-gnueabi \
-lg7221codec-arm-none-linux-gnueabi \
-lportaudio-arm-none-linux-gnueabi \
-lpj-arm-none-linux-gnueabi \
-lm \
-luuid \
-lnsl \
-lrt \
-lpthread \
-lasound
INCLUDEPATH += /usr/local/pjsip/include
DEPENDPATH += /usr/local/pjsip/include
unix:!macx:!symbian: PRE_TARGETDEPS += /usr/local/pjsip/lib/libg7221codec-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libgsmcodec-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libilbccodec-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libmilenage-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpj-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjlib-util-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjmedia-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjmedia-audiodev-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjmedia-codec-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjmedia-videodev-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjnath-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjsip-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjsip-simple-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjsip-ua-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libpjsua-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libportaudio-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libresample-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libspeex-arm-none-linux-gnueabi.a \
/usr/local/pjsip/lib/libsrtp-arm-none-linux-gnueabi.a
3、编译出错
from ../QT_PJSIP_VOIP/qt_sip.h:3,
from ../QT_PJSIP_VOIP/mainwindow.h:6,
from ../QT_PJSIP_VOIP/main.cpp:2:
/usr/local/pjsip/include/pj/config.h:1161:4: error: #error "PJ_IS_LITTLE_ENDIAN is not defined!"
/usr/local/pjsip/include/pj/config.h:1165:4: error: #error "PJ_IS_BIG_ENDIAN is not defined!"
解决:在config.h文件中宏定义
#define PJ_IS_BIG_ENDIAN 0
#define PJ_IS_LITTLE_ENDIAN 1
这样就能编译通过了。

标签:none,QT,gnueabi,Linux,pjsip,linux,local,arm
From: https://www.cnblogs.com/kn-zheng/p/17979254

相关文章

  • linux设置地址
    ifconfigeno3ifconfigeno4DEVICE="eno3"BOOTPROTO="static"HWADDR="f4:6b:8c:96:22:34"IPV6INIT="yes"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Ethernet"IPADDR="192.168.2.200"NETMASK=&......
  • 【Qt之模型视图】5. Qt库提供的视图便捷类
    1.前言Qt提供了一些便捷的视图类,如QListWidget提供项目列表,QTreeWidget显示多级树结构,QTableWidget提供单元格项的表格。每个类都继承了QAbstractItemView类的行为,QAbstractItemView类实现了项目选择和标题管理的通用行为。这三个类使用起来方便,但适合于少量数据的存储与显示(存......
  • Linux常用命令(02)
    1.cpcp复制文件copy#windows:ctrl+c复制ctrl+v粘贴ctrl+x剪切Linuxcp语法结构:cp文件拷贝到哪里cp源文件拷贝到哪里cp当前目录下的文件拷贝到哪里cp绝对路径的文件拷贝到当前(改名)cp绝对路径的文件指定到哪个目录案例#清空当前......
  • Linux常用命令(01)
    1.pwd查看当前所在的位置printworkingdirectory查看当前root用户默认所在的位置[root@centos~]#pwd输入命令/root 显示绝对路径[root@centos~]#2.lsls#列出当前目录看下所有的文件语法格式:ls直接回车#显示当前所在目录下所有的文件ls目录......
  • Linux常见的系统目录及作用
    /bin:存放可执行的二进制文件,包括常用的系统命令,如ls、cp等。/dev:包含设备文件,用于与硬件设备进行交互,如磁盘、键盘、鼠标等。/home:用户主目录的基本位置,每个用户通常在此目录下有一个对应的子目录。/mnt:用于挂载外部设备的目录,如光驱、USB设备等。/proc:虚拟文件系统,提供了有......
  • linux 键盘按键坏了怎么改键?
    方法一:通过/usr/share/X11/xkb/keycodes/evdev直接改(不推荐)参考:https://blog.csdn.net/L141210113/article/details/106616629方法二:使用xmodmap工具(推荐)参考:https://www.cnblogs.com/yinheyi/p/10146900.htmlvim~/.bashrc添加:if[-f~/.Xmodmap];thenxmodmap~/......
  • Linux 中 使用set 给shell脚本设置参数
     001、[root@PC1test1]#ls##准备两个测试文件a.shb.sh[root@PC1test1]#cata.sh##a文件#!/bin/bashecho$*[root@PC1test1]#catb.sh##b文件#!/bin/bashsetonetwothreeecho$*[root@P......
  • linux之线程互斥(万字长文详解)
    linux之线程互斥多线程在访问共享资源时的问题假如我们设置一个全局变量!inttickets=1000;//充当有1000张票void*getTicket(void*args){std::stringusername=static_cast<constchar*>(args);while(true){if(tickets>0){......
  • 45个经典Linux面试题!赶紧收藏!
    问题一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示?切换目录用什么命令?答案:绝对路径:如/etc/init.d当前目录和上层目录:./../主目录:~/切换目录:cd问题二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?答案:查看当前进程:ps执行退出:exit查看当前路径:pwd问题三......
  • Linux 系统中 $* 和 $@的区别和联系
     001、两者都可以表示shell脚本的所有参数,两者没有差异(不管是否增加双引号) 举例:a、不加双引号[root@PC1test1]#ls##准备了两个测试脚本a.shb.sh[root@PC1test1]#cata.sh##a.sh的内容如......