庞大的vlc看源码需要一个工具,选择QtCreator还是不错的
1. 首先是vlc源码编译通过,
2. 源码一定要编译成debug可调式版本才能被QtCreator使用
在编译通过的版本上复制新的版本,
cp vlc-2.1.5 vlc_Debug2.1.5
cd vlc_Debug2.1.5
./configure --enable-debug
3.执行的过程中会出现很多问题.一般都是缺少库文件,下载就可以了,解决如下
configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts.
=》sudo apt-get install lua5.1 liblua5.1-dev
configure:error: Could not find libmad on your system: you may get it fromhttp://www.underbit.com/products/mad/.
=》sudo apt-get install libmad0-dev
configure:error: No package 'libpostproc' found.
=》sudo apt-get install libpostproc-dev
configure:error: Could not find liba52 on your system: you may get it fromhttp://liba52.sf.net/.
=》sudo apt-get install liba52-dev
configure:error: Package requirements (xcb >= 1.6) were not met:Requested 'xcb >=1.6' but version of XCB is 1.5
=》到http://xcb.freedesktop.org/dist/上下载最新的tarball,我下的是1.7的版本,即libxcb-1.7.tar.gz 和xcb-proto-1.7.tar.gz 装好就可以了(先装后者,否则前者装不上)
tar -xzvflibxcb-1.11.tar.gz
cd libxcb-1.11&& ./configure
sudo make
sudo makeinstall
configure:error: libgcrypt version 1.1.94 or higher not found.
=》sudoapt-get install libgcrypt11-dev
configure: error: No package'alsa' found. alsa-lib 1.0.16 or later required.
下载 http://www.linuxfromscratch.org/blfs/view/svn/multimedia/alsa-lib.html
tar –jxvfalsa-lib-1.0.28.tar.bz2
继续 ./configure --enable-debug出现如下表示配置成功
ibvlcconfiguration
--------------------
version : 2.1.5
system : linux
architecture : i686 mmx sse sse2
optimizations : yes
vlc aliases : cvlc rvlc qvlc
To build vlc andits plugins, type `make', or `./compile' if you like nice colors.
4.configure成功后,需要使用QtCreator打开文件,首先安装QtCreator.在网上可以查找一下资料进行安装
5.打开QtCreator后打开【新建】-->【导入项目】-->【导入现有项目】-->【添加项目名字】-->【选择vlc_Debug路径】点击确定即可导入项目,可以调试了
6.优化这个QtCreator打开的vlc项目,这个打开的项目是把所有的能打开的都打开了,有的工程不需要怎么办.比如我们刚编译好的win32目录,还有test目录,那就在根目录下修改vlc_debug.files和vlc_debug.includes.
7.添加根目录下的bin/目录,bin目录下的vlc.c中包含main函数式程序的入口.
8.vlc_debug.creator是ubuntu下的QtCreator的工程文件.
9.如果你打算使用gdb调试,需要到ubuntu机器上调试,有界面弹出,调试根目录是/bin/vlc-static
在bin目录下执行 gdb vlc-static
进入gdb下 r 执行 b <断点位置> 设置断点.