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
这样就能编译通过了。
Linux下移植pjsip,使用QT开发的更多相关文章
- Linux下使用VsCode进行Qt开发环境搭建
最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...
- windows/Linux下设置ASP.Net Core开发环境并部署应用
10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...
- 在Linux下使用linuxdeployqt发布Qt程序
一.简介 linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中. 二.安装linuxdeployqt 去github ...
- 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 ...
- Linux编程环境介绍(3) -- linux下的c/c++程序开发
目录: 1. 编辑器( Vi ) [vi 与 vim] vi(visual interface)是linux系统最重要的文本编辑器, 所有的 Unix-Like 系统都会内置vi文本编辑器. vim ...
- linux 下安装编译配置 QT
注: 1,自己 make qt-everywhere-opensource-src s时,在./configure前主动装好以下3个 sudo apt-get install libX11-dev l ...
- 10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用
创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 prev ...
- 【资源下载】Linux下的Hi3861一站式鸿蒙开发烧录(附工具)
下载附件 2021春节前夕,华为发布了 HUAWEI DevEco Device Tool 2.0 Beta1,整体提供了异常强大的功能.得知消息后,我在第一时间带着无比兴奋的心情下载尝鲜,但结果却是 ...
- Linux下搭建gtk+2.0开发环境
安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...
随机推荐
- org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir异常解决方法
myeclipse用svn提交的时候报错: Attempted to lock an already-locked dir svn: Working copy 'D:/Program Files/My ...
- LA 2402 (枚举) Fishnet
题意: 正方形四个边界上分别有n个点,将其划分为(n+1)2个四边形,求四边形面积的最大值. 分析: 因为n的规模很小,所以可以二重循环枚举求最大值. 求直线(a, 0) (b, 0) 和直线(0, ...
- CSS强制英文换行
1. word-break:break-all;只对英文起作用,以字母作为换行依据 2. word-wrap:break-word; 只对英文起作用,以单词作为换行依据 3. white-space: ...
- sql server2005内存过高释放方法
最近做了一个网站qq.115sou.com,在服务器中SQL Server占用内存非常高,加内存后,SQL Server又吃掉新加的内存,好像内存永远不够用一样,怎么办? 其实这并不一定是由于SQL ...
- Android ashmem hacking
/********************************************************************** * Android ashmem hacking * 声 ...
- Oracle 课程五之优化器和执行计划
课程目标 完成本课程的学习后,您应该能够: •优化器的作用 •优化器的类型 •优化器的优化步骤 •扫描的基本类型 •表连接的执行计划 •其他运算方式的执行计划 •如何看执行计划顺序 •如何获取执行计划 ...
- K2 blackpearl 流程开发(一)
转:http://blog.csdn.net/gxiangzi/article/details/8444060 郁闷,今天K2的license过期了,很多东西都没法用了,还得去找PM大大帮忙申请一个. ...
- Android UncaughtExceptionHandler,捕获错误
最近在做个项目,需要在程序出现运行时异常和错误导致程序crash时进行一些操作,找到一个方法 Thread.setDefaultUncaughtExceptionHandler(new Uncaugh ...
- ECshop 二次开发模板教程2
不知道大家是学会用循环了呢,还是我的言语实在有问题,大家实在无法完成阅读哦,居然大家都没有问题,暂时心里安慰,把他当做好事情,大家都会调用了,呵呵,那我们继续循环调用商品了!好,继续在我们昨天的基础上 ...
- hdu 1175(广搜)
题意:容易理解... 思路:我开始的思路不好实现,而且有漏洞,时间复杂度也高,后来在网上学了下别人的方法,真心感觉很牛B,不仅代码好实现,而且时间复杂度比较低,具体看代码实现吧!! 代码实现: #in ...