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

这样就能编译通过了。

Linux下移植pjsip,使用QT开发的更多相关文章

  1. Linux下使用VsCode进行Qt开发环境搭建

    最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...

  2. windows/Linux下设置ASP.Net Core开发环境并部署应用

    10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...

  3. 在Linux下使用linuxdeployqt发布Qt程序

    一.简介 linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中. 二.安装linuxdeployqt 去github ...

  4. Linux下移植QT(2)---移植QT

    准备:ubantu12.04   内核 3.0.8(最好用同样的内核,3.2.0时没成功) 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc-4.4.6 QT版本5.4.2 ...

  5. Linux编程环境介绍(3) -- linux下的c/c++程序开发

    目录: 1. 编辑器( Vi ) [vi 与 vim] vi(visual interface)是linux系统最重要的文本编辑器, 所有的 Unix-Like 系统都会内置vi文本编辑器.  vim ...

  6. linux 下安装编译配置 QT

    注: 1,自己 make qt-everywhere-opensource-src s时,在./configure前主动装好以下3个 sudo apt-get install libX11-dev l ...

  7. 10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用

    创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 prev ...

  8. 【资源下载】Linux下的Hi3861一站式鸿蒙开发烧录(附工具)

    下载附件 2021春节前夕,华为发布了 HUAWEI DevEco Device Tool 2.0 Beta1,整体提供了异常强大的功能.得知消息后,我在第一时间带着无比兴奋的心情下载尝鲜,但结果却是 ...

  9. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

随机推荐

  1. IIS修改队列长度(IIS6+IIS7)

    Internet Information Services (IIS) 限制了在任何给定时间可在队列中等待的应用程序池请求的最大数量.如果达到此限制,则所有新请求都将被拒绝,而且用户将收到错误消息“5 ...

  2. Spring下载

    Spring官网改版后找了好久都没有找到直接下载Jar包的链接,下面汇总些网上提供的方法,亲测可用. 1.直接输入地址,改相应版本即可:http://repo.springsource.org/lib ...

  3. [经验] - JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案

    最近在开发WSS RESTful服务的时候, 碰到了这些个纠结的问题. 在网上查找了半天, 找到n多种解决方案, 但是都是部分的, 要么是没有跨域的情况, 要么是没有post的情况, 要么不是用WCF ...

  4. Unit testing Cmockery 简单使用

    /********************************************************************** * Unit testing Cmockery 简单使用 ...

  5. Mysqlbackup 备份详解(mysql官方备份工具)

    A.1全库备份. 命令: mysqlbackup --defaults-file=/home/mysql-server/mysql3/my.cnf  --user=root --password=ro ...

  6. 【转】cocos2d-x 3x Sprite3D

    Sprite3D Sprite3D works in many ways like a normal Sprite. Sprite3D is a three-dimensional model tha ...

  7. ByteBuffer用法小结

    在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲区.缓冲区是定长的,基本上它只是一个列表,它的所有元素 ...

  8. ECshop 二次开发模板教程1

    本教程适用于了解 ECshop 和 ECshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee  ...

  9. golang学习遭遇错误原因分析续

    7. error: reference to field ‘Printf’ in object which has no fields or methods f.Printf("%v&quo ...

  10. delphi7在win7系统如何安装spcomm控件

    1.先准备好串口控件SPCOMM,例如把它放在F盘的工具安装文件夹下,等一下加载时需要用到. 2.打开delphi7软件. 3.按下上面的Component>Install  Component ...