最新ffmpeg编译和用eclipse进行源码调试
来源:互联网 发布:如何判断咬肌肥大知乎 编辑:程序博客网 时间:2024/05/17 02:18
最近由于项目需要,必须修改ffmpeg的源码进行修改才能满足项目的需求,但以前我从来没有自己去编译和使用ffmpeg的源代码,一直都是用别人编译好了的sdk,再加上习惯了vs方便的编译环境,要在linux下对如此多的源代码进行编译和调试还真的是一件非常困难的事情。Linux下也没别的什么好的集成开发环境好用,没办法eclipse还凑合吧。好了,废话就不多说了,直接进入正题吧。
第一部分: ffmpeg的编译
首先要下载最新的ffmpeg源代码:
由于我用的是教育网,用svn下载太tm的慢了,1kb/s,估计到明年都下不完。推荐一个网站,除了有ffmpeg的源代码以外还有各个源的源码,并且用现成的sdk(windows下的)。
网址如下:
Step1: 网址
http://ffmpeg.zeranoe.com/builds/
Step2: 版本问题
下载完成以后,一个很重要的工作要做,否则以后你在使用或者调试ffmpeg的时候会出现很多莫名其妙的问题。一定要先检查的清理你的linux下是否已经安装了ffmpeg的库文件,如果安装了,要先remove掉,否则到最近,你的库有的是新的,有的是旧的,到用的时候给你报一堆版本错误,你就哭吧……具体做法:
下面是我在编译的时候出现的版本错误:
ffmpeg: relocation error: ffmpeg: symbol postproc_configuration, version LIBPOSTPROC_51 not defined in file libpostproc.so.51 with link time reference
解决办法:
$: apt-get remove ffmpeg
$: apt-get remove libavcodec52 libavdevice52 libavfilter0 libavformat52 libavutil49 libpostproc
$: apt-get remove libx264-dev
上面的解决办法可能在不同的机子上不一样,因为安装的库可能不同
如果还不行,就手动解决:
库文件的路径:/usr/lib
头文件的路径:/usr/include
进入这些路径看看是否有ffmpeg中的库,如果有,都删除掉。
Step3: 安装ffmpeg所依赖的库文件:
$: sudo apt-get update
$: sudo apt-get install build-essential git-core checkinstall yasm texi2html libfaac-dev /
libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev /
libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
这个步骤中只提供最常用的配置所需要的库文件,如果在编译ffmpeg中还有其它附加的配置,请使用新立得软件管理器进行安装。
Step4: 安装x264
从Step1中的网址上下载x264源码:
$:./configure –enable-static
$:make
$:make install
Step5: 安装ffmpeg
注意:
1. 如果是安装库文件,一定要使用--enable-shared, 不然不会生成.so文件。
2. 默认的库文件目录是/usr/local/lib,我们把它修改为/usr, 这样在安装的时候方便
$: ./configure --enable-gpl --enable-shared --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --prefix=/usr
$: make
$: sudo make install
第二部分:使用eclipse进行调试
Linux下也没有什么好用的集成开发环境,就eclipse吧。
首先下载eclispe + cdt,这个网上用ubuntu的software center就可以。
这里要注意一下,使用eclipse进行调试,如果ffmpeg源码的编译中使用了—enable-shared选项,那么在调试时会出现无法step into的情况,这个问题折磨了我好久,后来才发现是.so文件干的事,唉……
重新配置:在ffmpeg源码的目录下输入
$: ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-version3 --disable-optimizations --disable-asm
$: make
建立项目工程,这里我们选File->new->Makefile Project with Existing Code
n 在Import Existing Code对话框中的Toolchain for Indexer Settings中选Linux GCC
然后点Browse找到源代码文件夹
然后点OK->Finish
可以看到新建的工程中已经包含了所有的源码和编译后的文件。
右键点击ffmpeg_g选debug as->Local c/c++ Application->gdb/mi 然后Ok
好了,想怎么调就怎么调吧。
关于Eclipse的快捷键:
使用vs用习惯了,eclipse调试时的快捷键不太好用,想改。
window->Preference->general->keys->Scheme: Microsoft visual studio
但随之而来的一个问题,F10!
这个键在vs里面是step over, 但eclipse中只要你一按f10就会出出file对话框,后来上网查了一下,解决的办法如下:
Eclipse F10 Key mapping bug
$: gconftool-2 --get /desktop/gnome/interface/menubar_accel
F10
$: gconftool-2 --type string --set /desktop/gnome/interface/menubar_accel "ctrl-shift-m"
- 最新ffmpeg编译和用eclipse进行源码调试
- 最新ffmpeg编译和用eclipse进行源码调试
- 最新ffmpeg编译和用eclipse进行源码调试
- 最新ffmpeg编译和用eclipse进行源码调试
- 最新ffmpeg编译和用eclipse进行源码调试
- 最新ffmpeg编译和用eclipse进行源码调试(linux)
- eclipse调试ffmpeg源码
- hsqldb源码导入eclipse和Intellij IDEA进行源码调试
- Linux环境下,用eclipse对ffmpeg源代码进行调试
- 使用Eclipse对FFMpeg进行调试
- 使用Eclipse对FFmpeg进行调试
- ubuntu 使用Eclipse对FFmpeg进行调试
- 使用Eclipse对FFmpeg进行调试
- mingw+msys+eclipse编译调试ffmpeg
- 在Eclipse上部署Hadoop源码-进行开发和调试
- FFmpeg解码库裁剪和调试二--Eclipse调试FFmpeg
- Linux下用Eclipse编译、安装、运行、调试PostgreSQL源码
- eclipse下用CDT调试编译APUE源码
- ACM大牛roba的facebook心经
- LeetCode 15 Single Number II
- Ubuntu安装搜狗输入法
- dispatch对象
- 莱特币行情预测
- 最新ffmpeg编译和用eclipse进行源码调试
- Android环境的搭建
- TCP,UDP和IP分片
- 安卓平台级开发指南 - Android Platform Developer's Guide
- 活动通小结 ruby on rails 认证登录模块
- cman not started: Local host name resolves to 127.0.0.1; fix /etc/hosts before starting cluster
- html5学习之路-------1
- tomcat 6.0.41 + log4j
- 整体学习法之获取信息