mp4v2库交叉编译

本文档详细介绍了如何下载mp4v2源码,然后在ARM架构上进行交叉编译。过程中遇到的指针与整数比较的错误在src/rtphint.cpp中得到了修正,最终成功完成编译并执行make install。这个过程对于在嵌入式设备上部署多媒体处理软件具有指导意义。

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

1.下载mp4v2源码

下载最新release版本源码:https://github.com/TechSmith/mp4v2/releases

通过wget命令下载源码包 

wget https://github.com/TechSmith/mp4v2/archive/Release-ThirdParty-MP4v2-4.1.5.tar.gz

2.解压源码并配置编译参数

2.1 解压并创建编译安装目录

tar axvf Release-ThirdParty-MP4v2-4.1.5.tar.gz
cd mp4v2-Release-ThirdParty-MP4v2-4.1.5
mkdir output

2.2 配置configure

 配置configure生产Makefile

./configure --enable-static --host=arm-linux --disable-debug CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ --prefix=/home/disk/fangye/build_amba/mp4/mp4v2-Release-ThirdParty-MP4v2-4.1.5/output

2.3 交叉编译

执行make命令:

make -j8

 编译报错一:

src/rtphint.cpp:342:32: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
  342 |                     if (pSlash != '\0') {
      |                         ~~~~~~~^~~~~~~
make: *** [src/rtphint.lo] Error 1

解决办法:

vim src/rtphint.cpp +342

修改源码,将'\0'改为NULL 

编译完成后,执行:

make install

结果如下:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值