Jthread1.3.1 Jrtplib3.9.1跨平台交叉编译之Android(二)

jrtplib和jthread的交叉编译 在linux下对jthread和jrtplib库进行交叉编译时,碰到了一些问题,现记录如下: 1. 两者版本为jrtplib-3.7.1和jthread-1.2.1 2. 首先交叉编译jthread,先configure,执行如下指令:./configure --prefix=/usr/dfb/ -host=arm-linux CC=arm-linux-gnueabihf-gcc CXX=ar 阅读详情

平台式互通的,代码风格也相似。之前的折腾,领悟,今天很快就在ndk 上测试通了.这类文章极少,随意记录下

1.平台

win7 android-ndk-r8d  

2.源码导入到Jni目录下

肯定出错,大原则不要改动源代码。否则,会花很大时间调试,最终还不了了之,但配置文件,路径等可以修改。

jni下建两个目录分别为Jthread和Jrtplib导入相关源码

先说明一个问题:上篇文章提到是XXX.h.in文件,就是配置前文件,它很特殊。cmake可以配置,可是不太熟悉。tool目录下test程序运行中,会检测平台win/liunx/unix,支持ipv4/6等,最终生成define。但本次是ndk编译,这些都谈不上,所以自己得定义。缺什么,补什么。刚开始编译就会出现jthreadcongfig.h找不见。

JTHREADCONFIG_H.in

/*
*/
#ifndef JTHREADCONFIG_H

#define JTHREADCONFIG_H

#define JTHREAD_IMPORT 
#define JTHREAD_EXPORT 
#ifdef JTHREAD_COMPILING
	#define JTHREAD_IMPORTEXPORT JTHREAD_EXPORT
#else
	#define JTHREAD_IMPORTEXPORT JTHREAD_IMPORT
#endif // JTHREAD_COMPILING

// using win32
//#define JTHREAD_CONFIG_WIN32THREADS 默认好像是liunx平台,也可查找相关定义。一旦有这个定义就只加载winsock2.h等win头文件

#endif // JTHREADCONFIG_H
定义完,改成.h,其他类似。缺少文件,找准地方,看好上下ifdef后面的字符串,就知道该怎么定义了。至少能分清吧。

3.android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE    := my-jni
LOCAL_SRC_FILES:= \jrtplib/tools/gettypes.cpp \
                jrtplib/rtcpapppacket.cpp \
                jrtplib/rtcpbyepacket.cpp \
                jrtplib/rtcpcompoundpacket.cpp \
                jrtplib/rtcpcompoundpacketbuilder.cpp \
                jrtplib/rtcppacket.cpp \
                jrtplib/rtcppacketbuilder.cpp \
                jrtplib/rtcprrpacket.cpp \
                jrtplib/rtcpscheduler.cpp \
                jrtplib/rtcpsdesinfo.cpp \
                jrtplib/rtcpsdespacket.cpp \
                jrtplib/rtcpsrpacket.cpp \
                jrtplib/rtpcollisionlist.cpp \
                jrtplib/rtpdebug.cpp \
                jrtplib/rtperrors.cpp \
                jrtplib/rtpinternalsourcedata.cpp \
                jrtplib/rtpipv4address.cpp \
                jrtplib/rtpipv6address.cpp \
                jrtplib/rtplibraryversion.cpp \
                jrtplib/rtppacket.cpp \
                jrtplib/rtppacketbuilder.cpp \
                jrtplib/rtppollthread.cpp \
                jrtplib/rtprandom.cpp \
                jrtplib/rtpsession.cpp \
                jrtplib/rtpsessionparams.cpp \
                jrtplib/rtpsessionsources.cpp \
                jrtplib/rtpsourcedata.cpp \
                jrtplib/rtpsources.cpp \
                jrtplib/rtptimeutilities.cpp \
                jrtplib/rtpudpv4transmitter.cpp \
                jrtplib/rtpudpv6transmitter.cpp \
				jrtplib/jthread.cpp \
				jrtplib/jmutex.cpp \
				jrtplib/rtprandomurandom.cpp \
				jrtplib/rtprandomrand48.cpp \
				jrtplib/rtpexternaltransmitter.cpp



LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_C_INCLUDES)

LOCAL_PRELINK_MODULE := false APP_STL := stlport_static include $(BUILD_STATIC_LIBRARY)
 不要用 $(wildcard $(LOCAL_PATH)/*.cpp),加载顺序不对,会出错滴。 

4.application.mk

APP_STL := stlport_static
APP_MODULES     := my-jni
OK ,后面再测试联通,vc6.0编译过了

vc6.0编译,用好cmake,会很快的,可以结合这两篇博文,不在赘述,测试通过。

http://blog.163.com/zhujiatc@126/blog/static/183463820133886426/

http://blog.sina.com.cn/s/blog_4e87ac6e01009vif.html
下步测试PC和android联通,补充一点ndk虽然没有去大小端,但是可以自己define,也就不用像之前该Cmakelist,总之Config.h文件很重要,自己琢磨。




Jthread1.3.1 Jrtplib3.9.1跨平台交叉编译之Android(一) 折腾two days终于编译OK,主要参考http://blog.csdn.net/nickwar/article/details/9133399 阅读详情

相关推荐

JRTP编译文件(包含JThread)

包含MSVC编译版本以及MinGW编译版本 MinGW版本包含JRTP单独编译版本以及JThread + JRTP编译版本

jrtplib+jthread 交叉编译

 一、移植JRTPLib到嵌入式(arm)平台JRTPLIB库是一个RTP协议的开源库,使用这套库文件,我们可以创建端到端的RTP连接,实现数据的实时传输。JRTPLIB是使用标准c++编写的. 下载你可以在这里下载JRtplib,同时,需要下载JThread。解压解压目录/usr/local/software/tar -jxvf jrt

futurepeter的专栏 4550

Android下编译jrtplib

jrtplib库,在android下编译好的版本。基于zhouweibin2012上传的“Android编译JRTPLIB源文件”更改得来。他的那个文件在libjrtp文件夹下的rtpconfig_unix.h文件中未加入#define RTP_SUPPORT_THREAD,直接导致该库在android下不支持thread. 当把android端用作server的时候,无法接收client端传输的数据(不过android端用作client,倒是可以传输数据给PC上运行的server)。我在libjrtp的src下加入了jthread.cpp和jmutex.cpp,include中加入相应的头文件。同时在libjrtp下的android.mk的LOCAL_SRC_FILES中加入src/jmutex.cpp 和src/jthread.cpp 。编译后的库则在android端支持线程。(因为android.mk不熟,所以暂且只能这么改。至少,我这边是可以正常运行的)

vlc播放rtp g711音频,交叉编译jrtplib、jthread

rtp g711传输音频到vlc播放

loglingyy的博客 837

基于 jrtplib 接受 rtp数据 重组rtp 还原 rtp上的音视频数据

只是一个官方的jrtplib库,没有实际项目应用

RTP通信的客户端和服务器程序,使用jrtplib来实现RTP的通信

rtp&rtcp在实时流媒体传送过程中相当重要!因为UDP无法保障传送信息的准确性。rtp是基于udp上层的一个协议

jrtplib linux编译,jrtplib+jthread 交叉编译

JRTPLIB库是一个RTP协议的开源库,使用这套库文件,我们可以创建端到端的RTP连接,实现数据的实时传输。JRTPLIB是使用标准c++编写的.tar -jxvf jrtplib-3.7.1.tar.bz2tar -zxvf jthread-1.2.1.tar.gz解压后在当前文件夹下会生成rtplib-3.7.1,jthread-1.2.1两个目录。安装jthread采用默认的安装路径,安装...

weixin_39745345的博客 362

JRTPLIB3.7.1源代码包及帮助文档和实例

JRTPLIB和JThread源代码包和UNIX下的makefile,及chm文档和实例开发代码。

jrtplib for android,Jthread1.3.1 Jrtplib3.9.1跨平台交叉编译之Android(二)

平台式互通的,代码风格也相似。之前的折腾,领悟,今天很快就在ndk 上测试通了.这类文章极少,随意记录下1.平台win7 android-ndk-r8d2.源码导入到Jni目录下肯定出错,大原则不要改动源代码。否则,会花很大时间调试,最终还不了了之,但配置文件,路径等可以修改。jni下建两个目录分别为Jthread和Jrtplib导入相关源码先说明一个问题:上篇文章提到是XXX.h.in文件,就是...

weixin_39915367的博客 386

Win11 WSL2 Ubuntu 18.04 ROS Gazebo 图形渲染性能调优:从LLVM到NVIDIA GPU的完整指南

本文详细解决了在Win11 WSL2 Ubuntu 18.04环境中运行ROS Gazebo时图形渲染卡顿的问题。通过诊断默认LLVM软件渲染的瓶颈,指导用户更新Mesa驱动PPA源,并关键性地设置环境变量以强制启用NVIDIA GPU硬件加速,最终显著提升仿真性能与流畅度。

weixin_29204749的博客 282

Ollama模型路径迁移实战:Windows/Mac/Linux三系统保姆级教程(附常见问题排查)

本文提供了一份详细的Ollama模型路径迁移教程,涵盖Windows、macOS和Linux三大操作系统。针对默认安装路径占用系统盘空间的问题,文章指导用户如何安全移动模型文件、配置环境变量、重启服务,并附有迁移后的验证步骤与常见问题排查方法,帮助用户高效管理本地AI模型存储。

gray5的博客 543

linux下jrtplib库移植到android上

前提linux下安装cmake,可执行sudo apt-get install cmake安装。(本文参照https://github.com/jimjh/JRTPLib-for-Android,作者在mac系统编译通过) 1,下载相关lib库,本列使用jrtplib-1.9.0和jthread-1.3.0(注:jrtplib引用了jthread的线程,所以要使用jthread库)

lchli1314的专栏 1269

旋转矩阵的左乘与右乘

旋转矩阵左右乘的详细讲解

qq_46619194的博客 3329

JRTPLib 移植到Android - Ubuntu

1.download NDK first. 2.将NDK 安装到目录中,使ndk成为 STANDALONE COMPILER,如下命令即可,具体可参见android-ndk-r7/docs/STANDALONE-TOOLCHAIN.html $NDK/build/tools/make-standalone-toolchain.sh --platform=android-5 --in

To Change the Embedded Industry! 3388

C++ 核电站

问题描述 一个核电站有n个放核物质的坑,排列在一条直线上。如果连续m个坑中放入核物质就会发生爆炸,所以某些坑中不能放核物质。 本题的任务:对于给定的n和m,求不发生爆炸的放置核物质的方案总数。 输入格式 第一行两个正整数n和m,之间用一个空格隔开。2≤n≤50,2≤m≤5。 输出格式 一行一个正整数,表示方案总数。 输入样例 4 3 输出样例 13 数据规模与约定 2≤n≤50,2≤m≤5 CODE #include<bits/stdc++.h> using namespace

HybridCOW_HORSE的博客 1803

Qwen3-Embedding选型指南:0.6B/4B/8B三版本性能对比与场景匹配建议

本文深入解析阿里开源的Qwen3-Embedding系列模型(0.6B/4B/8B)的性能差异与适用场景,提供从边缘计算到云端部署的实战选型建议。通过实测数据对比响应延迟、内存占用和多语言精度等核心指标,帮助技术团队根据业务需求选择最优模型版本,并分享边缘设备优化与云端成本测算策略。

qsc901234567的博客 892

MirrorLink(移植到设备上)

移植前准备工作: 安装交叉编译器 1、cp fsl-imx-wayland-glibc-x86_64-hsae-image-cortexa9hf-vfp-neon-toolchain-3.14.52-1.1.1.sh /opt/ 2、cd /opt 3、sh fsl-imx-wayland-glibc-x86_64-hsae-image-cortexa9hf-vfp-neon-toolc...

sui1005316018的博客 1059

Graphviz安装及使用:决策树可视化

Python大数据分析与机器学习学习笔记 Graphviz安装及使用:决策树可视化

算法工程师 1万+

长沙红胖子Qt·西安(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

长沙红胖子 Qt・西安,本人拥有省级科研团队从业背景,研发团队产出所有项目、产品方案和研发无分包、无外包、无AI代笔,长期深耕双一流体系高精尖技术配套研发。博客主动剥离复杂底层工况机理,专注沉淀高端、特种行业领域Qt工程化落地实战经验。所有内容均为个人梳理总结的通用性工程方法论,只输出可公开的普适技术思路。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 164万+

芒果YOLO11改进17:即插即用 | 损失函数Repulsion Loss|Repulsion 解决目标遮挡场景下的目标检测,为解决密集人群检测中遮挡设计的损失函数,打造高效

即插即用 | 损失函数Repulsion Loss|Repulsion 解决目标遮挡场景下的目标检测,为解决密集人群检测中遮挡设计的损失函数,打造高效

包括YOLOv5、YOLOv7、YOLOv8等模型改进 484

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 866

jrtplib-3.7.1笔记--流程一遍

一、RTP 是进行实时流媒体传输的标准协议和关键技术实时传输协议(Real-time Transport Protocol,PRT)是在 Internet 上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现传流媒体数据的实时传输。RTP 通常使用 UDP 来进行多媒体数据的传输,但如果需要的话可以使用 TCP 或者 ATM 等其它协议。 协议分析 :每一个RTP数据报都由头部(Header)和负载(Payload)两个部分组成,

heanyu的专栏 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Jrtplib Android平台编译

jrtplib库使用C++语言实现,封装了RTP、RTCP协议的内容,可用于发送RTP数据包和RTCP数据包。RTP、RTCP 协议本身不是很复杂的协议,使用该库可以免去实现协议的细节,但是如果要用好该库,最好对RTP、RTCP协议有一个比较清晰的了解。 本文介绍如何在Android Studio中通过编写CMakeList.txt文件,将下载好的jlibrtp库编译成动态库。此处...

yuzhihui170的专栏 1248

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

JRTPLIB 3.5.2手册中文版---part12

3.2.16 RTPPacketBuilder -------------------------------------------------------------------------头文件:rtppacketbuilder.h        该类可以用来构建RTP

吉宝力--K.I.S.S.(Keep It Simple Software) 1659

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JRTPLIB 3.5.2手册中文版---part11

3.2.15 RTPSourceData -------------------------------------------------------------------------头文件:rtpsourcedata.h        类RTPSourceData包含会

吉宝力--K.I.S.S.(Keep It Simple Software) 1524
上一篇: Jthread1.3.1 Jrtplib3.9.1跨平台交叉编译之Android(一)
下一篇: coco2d-x初学
macandroid
博客等级 码龄14年 35粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值