本文讨论如何在Ubuntu系统上交叉编译VLC源代码。首先,请启动终端,然后执行以下命令:
-
$sudo
apt-get install gcc-mingw32 mingw32-binutils
-
$git clone git://git.videolan.org/vlc.git
-
$ mkdir -p contrib/win32
-
$ cd contrib/win32
-
$ ../bootstrap --host=i586-mingw32msvc
-
$ make prebuilt
-
如果是64位系统,你必须执行($ rm -f ../i586-mingw32msvc/bin/moc ../i586-mingw32msvc/bin/uic ../i586-mingw32msvc/bin/rcc),并且安装qt4-tools
-
$cd -(回到vlc源目录)
-
$ ./bootstrap
-
$ mkdir win32 && cd win32
-
$ ../extras/package/win32/configure.sh --host=i586-mingw32msvc
-
$ make
-
make package-win32
QtCreator集成开发环境编译调试VLC
作者:lovey599
本文讨论如何用QtCreator编译并调试VLC源代码。你可以点击此处下载vlc-1.1.12.tar.gz源代码,也可以自行去官方下载。笔者编译VLC时,所用操作系统是Ubuntu 11.10 32bit。你也可以在Windows下编译源代码,这里有指导性的文章(http://wiki.videolan.org/Win32Compile)。但笔者仍然建议在Linux系统下交叉编译VLC,这可以降低编译难度和节省大部分的编译时间。笔者曾经尝试在Windows7上编译VLC,至少花费三个小时。而在Ubuntu下编译,仅仅几十分钟。下面附上主要的操作步骤及说明(本文所讨论技术同样适用于Debian系统)。
下载并编译VLC源代码,主要步骤如下:
-
$cd ~ && mkdir vlc
2. $wget http://cdnetworks-kr-2.dl.sourceforge.net/project/vlc/1.1.12/vlc-1.1.12.tar.xz
-
$tar xf vlc-1.1.12.tar.xz
-
$apt-get update(更新软件源,如果可能,请自己配置可用的下载源,用vim编辑/etc/apt/sources.list文件即可)
-
$sudo atp-get build-dep vlc
-
$cd vlc-1.1.12 && ./bootstrap && ./configure --enable-debug(如果此处失败,请尝试安装sudo apt-get install autoconf automake libtool)
如果没有错误消息,表明编译vlc的库已经具备。如果有错误消息,请根据错误提示操作,一般都是需要安装某个必须的库。
下面介绍QtCreator的安装和配置
-
$sudo apt-get install qtcreator qt4-doc-html cmake subversion(在点击Y继续安装之前,系统一般会提示您建议安装某些软件,笔者建议你根据系统提示进行安装。由于这是建议安装,故而不附加命令)
-
启动QtCreator,依次点击工具,选项
-
展开FakeVim,选择使用FakeVim,调整缩进宽度(ShiftWidth)为4
-
展开文本编辑器,选择行为选项卡,设置制表符宽度为4
-
展开文本编辑器,选择显示,勾选开启文字折行
-
展开文本编辑器,你可以按照个人习惯设置代码颜色
-
保存
-
选择文件,新建文件或工程
-
选择其它项目,导入现有项目(图一),为项目取名为vlc或者任意你喜欢的名字
-
浏览至vlc项目源代码所在文件夹(~/vlc/vlc-1.1.12)
-
选择构建,构建项目(vlc)或者构建所有项目
-
打开源文件,插入断点(比如modules/gui/qt4/dialogs/open.cpp文件第325行插入断点。单击源代码编译窗口最左边那一列或者鼠标定位该行,按F9即可。这点与VC的调试是一样的。习惯VC的人很容易上手QtCreator。如果要察看某个变量的值,右键单击变量名称,选择增加到监视窗口即可。你也可以单击函数或者变量,选择查找何处被使用即可)
-
按F5以调试模式执行程序或者从调试菜单中启动调试(图二)
到此,开始你的代码调试之旅吧。
Have fun!
有任何不明白的地方或者建议,请发邮件给笔者:lovey599@qq.com。欢迎一起讨论和学习。
顺祝商祺!
2011/12/9 lovey599
附图:
图一
图二下载pdf文档
-