librtmp交叉编译

本文详细描述了如何在LinuxARM架构下下载并编译openssl1.0.0s、zlib1.3.1和librtmp2.3,包括解压、配置Makefile、移除特定选项、交叉编译及安装过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

软件包下载

libopenssl编译

libz编译

librtmp编译


软件包下载

librtmp依赖openssl库和zlib库,注意openssl库版本需要为1.0,三个库下载地址如下:

openssl:https://www.openssl.org/source/old/1.0.0/openssl-1.0.0s.tar.gz

zlib:http://www.zlib.net/zlib-1.3.1.tar.gz

librtmp:http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz

libopenssl编译

1.解压

tar -xvf openssl-1.0.0s.tar.gz

2.进入源码目录执行下面命令生成Makefile文件

--prefix:表示编译完成之后库安装的目录,我这边设置的是当前目录install目录下

--cross-compile-prefix:表示交叉编译工具链

./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=arm-linux-gnueabihf-

3.打开Makefile文件,删掉里面所有的-m32,-m64选项

4.编译库

make -j4

5.升级库

make install

libz编译

1.解压

tar -xvf zlib-1.3.1.tar.gz

2.进入源码目录执行下面命令生成Makefile

mkdir build;
cd build;
cmake -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc ..

-DCMAKE_INSTALL_PREFIX:库安装的路径

-DCMAKE_C_COMPILER:交叉编译器

3.编译库

make -j4

4.安装库

make install

librtmp编译

1.解压

tar -xvf rtmpdump-2.3.tgz

2.进入源码下修改Makefile

cd rtmpdump-2.3/librtmp/;
vi Makeflie;

prefix:库安装路径

CROSS_COMPILE:交叉编译工具链

ZLIB_PATH:zlib库编译安装路径

OPENSS_PATH:openssl编译安装路径

3.编译

make -j4

4.安装

make install

以上步骤完成之后,librtmp交叉编译完成。 

### 如何对C库进行交叉编译 #### 准备工作 为了能够顺利地完成C库的交叉编译,首先要准备好适合目标架构的交叉编译工具链。这通常由嵌入式Linux发行版提供,也可以自行构建。确保该工具链已正确安装,并能被命令行访问。 #### 获取源码 从官方仓库或其他可信资源处下载所需版本的C库源代码包。对于JSON-C这样的开源项目来说,可以直接克隆其Git仓库[^1]。 #### 配置交叉编译环境 创建一个新的目录用于存放编译产物,并进入此文件夹作为后续操作的工作空间。如果使用的是像NVIDIA Jetson这样特定硬件平台,则可能需要调整某些设置来适应CUDA等相关特性[^2]。 #### 下载并解压源码 将之前获得的压缩包放置于当前路径下,并执行相应的解压缩指令将其展开成可读取的形式以便进一步处理。 #### 设置交叉编译参数 编辑`toolchain.cmake`文件定义好必要的变量如`CMAKE_SYSTEM_NAME`, `CMAKE_C_COMPILER`等指向实际使用的gcc/g++二进制位置;另外还需指定宿主机与目标机的信息差异以供CMake识别。 #### 编译过程 调用`cmake`指明刚才建立好的ToolChain脚本的位置以及其他任何额外选项(比如优化级别),接着运行`make`启动正式建造流程。针对librtmp这类支持configure脚本的软件包而言,可以通过传递`--cross-compile-prefix`参数给定前缀名从而让整个体系结构更加清晰易懂[^3]。 ```bash mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE=../path/to/toolchain.cmake .. make ``` #### 安装部署 一旦确认无误之后即可利用`make install`把最终成果复制至预定地点,注意这里涉及到权限问题所以有时不得不借助sudo提升等级。最后一步就是验证新生成动态链接库能否正常加载以及函数接口是否按预期行事了。 #### 移植和测试 将编译后的库文件传输到目标设备上,在那里尝试编写简单的应用程序来进行功能性和兼容性的初步检验。确保一切运作良好后再考虑投入生产环境中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立羽丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值