文档章节

移植FFMPEG到VS2008系列之四

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:45
字数 630
阅读 1
收藏 0

这部分主要是引入第三方库,还有就去去除无关的测试代码。


7. 引入第三方库


    必须引入的第三方库为zdll.lib,这个库在网上可以下载到,如若不加入这个库,很多的函数将链接不到。还有在avcodec文件夹下面以lib打头的文件都是为引入第三方库而进行的接口封装,以适应ffmpeg去调用的相关代码。最重要的例如libx264,libmp3lame.lib libfdk_aac等。我的x264采用我自己用vs2008编译的版本,其它的库也基本上采用vs的版本。暂时不想加入的库,例如libspeex等可以把这些代码移出。


8. 去除冗余和暂时不相关的代码。


     之前我们把所有的c文件都添加进来,其实有些是没有必要的。例如有些c文件里面有一个main函数,它仅仅是为了测试某个函数接口应用而存在的,这样的c文件是可以移除。另外,文件名包含template关键字的文件也必须要移除,因为这样的文件已经被include到其它文件里面的。如若不移除,单独编译这个文件会产生大量的编译错误。另外与网络相关的模块也可以暂时移除,当然也可以在tcp.c文件里面加入windows上的库ws2_32.lib解决链接错误。


9. 初始化全局结构体变量


    在前面一部分,对于结构体的初始化,我们用了一个函数去做。所以,在程序刚刚起来的时候,必须调用这些函数去初始化所有的全局结构体变量。由于这样的结构体变量初始化函数太多太多,不太可能用复制粘贴的方法。一种可行的方法是,在vs开发环境里面切换到class view选项里面找到Global functions and variables,选中所有的初始化结构体的函数,然后复制到一个文本文件里面,再写一个简单的正则表达式,将其转换为函数调用的格式。前面提到的文件g_var_func_init.c就是自己添加的这些函数调用的代码,用以初始化全局结构体变量。



综上所述,排除完所有的编译错误和链接错误,你就可以在vs2008下面调试ffmpeg的代码了。







本文转载自:http://www.cnblogs.com/celerychen/archive/2013/04/23/3588208.html

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
最简单的基于FFmpeg的移动端例子附件:Android 自带播放器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47056733 ===================================================== 最简单的...

雷霄骅
2015/07/25
0
0
最简单的基于FFmpeg的移动端例子:IOS 视频转码器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072673 ===================================================== 最简单的...

雷霄骅
2015/08/01
0
0
最简单的基于FFmpeg的移动端例子附件:IOS自带播放器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072861 ===================================================== 最简单的...

雷霄骅
2015/08/01
0
0
最简单的基于FFmpeg的移动端例子:IOS 推流器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072519 ===================================================== 最简单的...

雷霄骅
2015/07/29
0
0
最简单的基于FFmpeg的移动端例子:IOS 视频解码器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072257 ===================================================== 最简单的...

雷霄骅
2015/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部