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. 根据dwarfdump、Symbolicatecrash查找错误代码

    dSYM文件获取:1.build2.Archive 获取app UUID 命令:dwarfdump --uuid YourApp.app.dSYM 1.YourApp.app/YourApp2.You ...

  2. UVA 11426 GCD-Extreme(II) ★ (欧拉函数)

    题意 求Σ{1<=i<N} Σ{i<j<=N} GCD(i, j)     (N<=4000000) 分析 原始思路 暴力求明显是不行的,我们把式子简化形式一下发现它可以 ...

  3. 阿里云容器服务--配置自定义路由服务应对DDOS攻击

    阿里云容器服务--配置自定义路由服务应对DDOS攻击 摘要: 容器服务中,除了slb之外,自定义路由服务(基于HAProxy)也可以作为DDOS攻击的一道防线,本文阐述了几种方法来应对普通规模的DDO ...

  4. UML类图设计

    大纲: 在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成.接口:空心圆+直线(唐老鸭类实现了‘讲人话’):依赖:虚线+箭头(动物和空气的 ...

  5. Linux Kernel 4.8分支第4个候选版本发布

    导读 今天,大神Linus Torvalds宣布了Linux 4.8分支的第四个候选版本,该候选版本在提供常规驱动更新.架构改善和部分KVM调整之外最大的新功能就是修复了英特尔Skylake电源管理B ...

  6. <转>Python 多线程的单cpu与cpu上的多线程的区别

    你对Python 多线程有所了解的话.那么你对python 多线程在单cpu意义上的多线程与多cpu上的多线程有着本质的区别,如果你对Python 多线程的相关知识想有更多的了解,你就可以浏览我们的文 ...

  7. SQL Server缺省约束、列约束和表约束

    SQL Server缺省约束是SQL Server数据库中的一种约束,下面就为您介绍SQL Server缺省约束.列约束和表约束的定义方法啊,供您参考. SQL Server缺省约束 SQL Serv ...

  8. C++类与对象

    [1]类的内存问题 类是抽象的,不占用内存,而对象是具体的,占用 存储空间.在一开始时弄清对象和类的关系是十分 重要的.[2]类的声明 如果在类的定义中既不指定private也不指定public,则系 ...

  9. Python多线程和Python的锁

    Python多线程 Python中实现多线程有两种方式,一种基于_thread模块(在Python2.x版本中为thread模块,没有下划线)的start_new_thread()函数,另一种基于th ...

  10. 微信公众平台开发(57)Emoji表情符号

    微信公众平台开发 微信公众平台开发模式 企业微信公众平台 Emoji表情符号 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/crack-golden-egg ...