736 porting mp4v2 总结
来源:互联网 发布:三层网络拓扑图 编辑:程序博客网 时间:2024/05/21 11:09
1、交叉编译mp4v2的库
在以前的《编译生成适合于arm平台使用的mp4v2(学习了交叉编译呀)》中,详细写了mp4v2的编译过程。但是由于换了736平台,其编译器是arm-hisiv100nptl-linux系列的,所以交叉编译的方式是../configure --host=arm-hisiv100nptl-linux
补充:./configure 最关键的三个选项是:
--host=HOST 指定软件运行的系统平台.如果没指定,将运行`config.guess'来检测.一般我们只需指定--host--host 指定的是交叉编译工具链的前缀
--build=BUILD 指定软件包安装的系统平台.如果没有指定,默认值将是'--host'选项的值.
--target=GARGET 指定软件面向(target to)的系统平台.这主要在程序语言工具如编译器和汇编器上下文中起作用.如果没有指定,默认将使用'--host'选项的值.
2、更换编译器
原来736的sample使用全C语言来编写的,因为引入了cpp的库,所以原有sample的makefile文件中指定的编译器要做修改——从arm-hisiv100nptl-linux-gcc变成了arm-hisiv100nptl-linux-g++。 这个以修改导致了大量的bug,基本上由于g++对于数据格式有着更加严格的要求。有一点注意:
#ifdefined(__cplusplus)||defined(c_plusplus) //跨平台定义方法extern "C"{#endif
extern "C"是告诉C++编译器件括号里的东东是按照C的obj文件格式编译的,要连接的话按照C的命名规则去找.C和C++对函数的处理方式是不同的.extern "C"是使C++能够调用C写作的库文件的一个手段,如果要对编译器提示使用C的方式来处理函数的话,那么就要使用extern "C"来说明。
3、mp4v2里的sps信息和pps信息是不要00000001这个头的。
0 0
- 736 porting mp4v2 总结
- mp4v2
- MP4V2
- MP4V2
- Porting Tp 问题总结
- Porting Tp 问题总结
- csr8811蓝牙芯片porting总结
- 736porting alsa
- porting
- Android Kernel Porting 的简单总结文档
- Android Kernel Porting 的简单总结文档
- Android Kernel Porting 的简单总结文档
- H264学习过程总结3mp4v2-2.0.0的源代码
- 编译MP4v2
- mp4v2接口
- 编译MP4v2
- 编译MP4v2
- MP4v2 Android
- edittext
- PHP date时间处理
- [C++]LeetCode: 119 Gas Station
- CSS3 -webkit-filter 滤镜效果
- linux学习(五) ubuntu下一些美化的分享
- 736 porting mp4v2 总结
- C语言编程(练习3:数组与指针)
- qt开发杂谈
- ListView setOnItemClickListener无法响应点击事件解决
- GTK常用控件之按钮( GtkButton )
- uiimage的size属性
- JavaScript中null和undefined的区别
- C语言编程(练习5:数组与指针)
- c++调用java第二篇