windows平台下vlc编译之六

转自:http://jeremiah.blog.51cto.com/539865/121316

windows平台下vlc编译之六:vlc-0.9.8a的编译

首先感谢vlc的qq群*阿来*帮忙解决了一个关键问题。
 
vlc用Cygwin编译老是会出这样那样的问题,所以编译起来是相当相当的郁闷。vlc-0.9.6版的官方提供的版本会有几个严重的缺陷,在官方网站上面已经郑重道歉了。vlc-0.9.8a是目前发行的最新版,所以对其编译是势在必行的。
 
废话了这么多,进入正题。简单写一下,如果有不明白的,看看前面几篇日志。
 
1. 编译环境,目前最新的Cygwin。(《windows平台下vlc编译之五:vlc-0.9.6的编译》提供下载地址)
 
2. 源码和库:
库:contrib-20081021-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
(
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录 http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我( jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
)
 
3. 执行
sed -i 's/AM_GNU_GETTEXT_VERSION(0.17)/AM_GNU_GETTEXT_VERSION(0.15)/g' configure.ac    
    
./bootstrap
 
4.  保存如下脚本为configure-vlc01.sh
PATH=/usr/win32/bin:$PATH /
PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig /
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" /
LDFLAGS=-L/usr/win32/lib /
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" /
./configure /
         --host=i686-pc-mingw32 /
         --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin /
         --enable-avcodec --enable-avformat --enable-swscale /
         --enable-faad --enable-flac --enable-theora /
         --enable-freetype /
         --enable-fribidi /
         --enable-live555 --with-live555-tree=/usr/win32/live.com /
         --enable-caca --with-caca-config-path=/usr/win32/bin /
         --with--config-path=/usr/win32/bin /
         --with-dvdnav-config-path=/usr/win32/bin /
         --disable-cddax --disable-vcdx --enable-goom /
         --enable-twolame --enable-dvdread /
         --enable-debug    --enable-dca /
         --disable-mkv --disable-taglib /
         --disable-zvbi /
         --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
 
5. 执行./configure-vlc01.sh
 
6. 执行make前改两个文件。(行数可能不对,用搜索功能吧)
libtool第156行:
修改    
global_symbol_pipe=""    
为    
global_symbol_pipe="sed -n -e 's/^.*[         ]//([ABCDGIRSTW][ABCDGIRSTW]*//)[                         ][                        ]*//(//)//([_A-Za-z][_A-Za-z0-9]*//)/$///1//2//3 //3/p'"

Makefile.am第695行
修改
cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"

#  cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
 
Makefile.am第725行:
cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des
tdir)/mozilla/
#  cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des
tdir)/mozilla/

Makefile.am第736行
修改
cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/

#  cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
 
7. 执行make && make package-win32-base。搞定!

windows平台下vlc编译之七:vlc-1.0.0-git的编译
周末在家用git下载了vlc-1.0.0-git版本,编译了一下,出现了一个小错误倒腾了半天,源码里面的一函数定义有问题,修改了下,编译成功。
 
由于Jeremiah在写这篇日志的时候官方没有发布1.0.0的源代码,git版本是很不稳定的,比如运行了一下发现界面做的就很不好,播放的画面是另外的一个窗口,而不是播放器本身的窗口。
 
闲言少叙,开始正题。
 
1. 编译环境,目前最新的Cygwin。(《windows平台下vlc编译之五:vlc-0.9.6的编译》提供下载地址)
 
2. 源码和库
由于源码官网未提供,git下载速度确实有点不敢恭维。有些朋友的公司还会用代理上网,比如我们公司就这样。git通过代理麻烦的很。所以,Jeremiah把自己下载的源码放到网盘里面了,请需要的直接点击下载。并且,由于不知道git是不是每天更新,所以不能保证用git下载的和Jeremiah编译的是一个版本
源码:
(
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录
http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(
jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
)
库:contrib-20081021-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
(
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录
http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(
jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
)
 
Jeremiah提供的源码里面修改了modules/stream_out/raop.c,如果是用git得到的,make的时候可能会遇到错误:
.libs/libstream_out_raop_plugin_la-raop.o: In function `SplitHeader':
/home/wangwei1/vlc-1.0.0/modules/stream_out/raop.c:550: undefined reference to `
_vlc_strsep'
/home/wangwei1/vlc-1.0.0/modules/stream_out/raop.c:558: undefined reference to `
_vlc_strsep'
.libs/libstream_out_raop_plugin_la-raop.o: In function `ExecRequest':
/home/wangwei1/vlc-1.0.0/modules/stream_out/raop.c:593: undefined reference to `
_vlc_strsep'
/home/wangwei1/vlc-1.0.0/modules/stream_out/raop.c:646: undefined reference to `
_vlc_strsep'
/home/wangwei1/vlc-1.0.0/modules/stream_out/raop.c:602: undefined reference to `
_vlc_strsep'
Creating library file: .libs/libstream_out_raop_plugin.dll.a
collect2: ld returned 1 exit status
make[5]: *** [libstream_out_raop_plugin.la] Error 1
make[5]: Leaving directory `/home/wangwei1/vlc-1.0.0/modules/stream_out'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/wangwei1/vlc-1.0.0/modules/stream_out'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/wangwei1/vlc-1.0.0/modules/stream_out'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/wangwei1/vlc-1.0.0/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/wangwei1/vlc-1.0.0'
make: *** [all] Error 2
请自己修改modules/stream_out/raop.c,在一堆宏定义下面加入:
char *vlc_strsep( char **ppsz_string, const char *psz_delimiters )
{
         char *psz_string = *ppsz_string;
         if( !psz_string )
                 return NULL;

         char *p = strpbrk( psz_string, psz_delimiters );
         if( !p )
        {
                *ppsz_string = NULL;
                 return psz_string;
        }
        *p++ = '/0';

        *ppsz_string = p;
         return psz_string;
}
 
3. 执行
sed -i 's/AM_GNU_GETTEXT_VERSION(0.17)/AM_GNU_GETTEXT_VERSION(0.15)/g' configure.ac    
    
./bootstrap
 
4. copy脚本configure-vlc01.sh到源码中。脚本在附件(file.rar)里面提供了,与vlc-0.9.6的编译脚本完全相同。
 
5. 执行./configure-vlc01.sh
 
6. 执行make前改个文件
libtool第144行:    
修改        
global_symbol_pipe=""        
为        
global_symbol_pipe="sed -n -e 's/^.*[                 ]//([ABCDGIRSTW][ABCDGIRSTW]*//)[                                                 ][                                                ]*//(//)//([_A-Za-z][_A-Za-z0-9]*//)/$///1//2//3 //3/p'"
不想改就直接覆盖附件(file.rar)中提供的这个文件。
 
7. 执行make && make package-win32-base。搞定!
windows平台下vlc编译之八:vlc-0.9.9[a]的编译
   Jeremiah今天偶尔到vlc官网的FTP上面逛了下,发现vlc-0.99的官方代码已经发布了。下载下来编译了下,跟vlc0.9.8a的编译没有任何区别。在这只写一下源码和库。
 
vlc-0.9.9
库:contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
(
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录
http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(
jeremiah.vlc@gmail.com ),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
)
 
2009.04.18修改:增加了vlc-0.9.9a的源码。
2010.04.15修改:解决了窗口弹出问题。
vlc-0.9.9a与vlc-0.9.9的不同之处是"This update is Mac OS X only",所以,如果是windows编译,可以忽略。在此,Jeremiah还是给出它的源码地址和第三方库地址。
库:contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
 
 
问题:编译完了之后的vlc还是播放画面窗体与主窗体分离,不知道是啥原因,暂时还没有分析出来。期待解决。
 
解决方法:修改modules/gui/qt4/qt4.cpp的216行,将#if 0改成#if 1,重新编译。(本人严重怀疑这是不是vlc官网的人特意加上的让我们编译源码不能非常好的使用。)
# if 1
        add_submodule();
                set_capability( "vout window", 50 );
                set_callbacks( WindowOpen, WindowClose );
#endif

 

 

windows平台下vlc编译之九:vlc-1.0.0-rc*的编译

        VLC-1.0.0-rc1版刚刚发布,Jeremiah在第一时间编译了下,没有发现其他的问题,所以,还是大体写一下,表示我对VLC的编译还在持续的关注。
(2009-06-08补充:1.0.0-rc3编译成功,如有需要到vlc官网下载exe安装文件)
 
库:contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
(
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录 http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我( jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
)
 
 
在这我就偷懒不写了。
 
编译完测试了下,发现最近几版出现的播放窗体与控制主窗体分离的问题已经解决了,但是这一版播放的原始大小会有点问题。怎么说呢,VLC再往好的方向发展,期待1.0.0的正式版的发布。其他的像libvlc.dll的调用,Activex的注册等问题,Jeremiah也会在这两天做测试,如果没问题,就不写了。
 
 
windows平台下vlc编译之十:vlc-1.0.0的编译
        VLC-1.0.0正式版已经发布。Jeremiah抽空编译测试了一下,发现没啥太大问题,比较好用,也更加人性化,增加了buffer的显示和历史输入的提示。在这Jeremiah想把VLC-1.0.0的编译过程写详细一些,省得大家再往前翻看以前的博客了。
 
2009-07-30更新:vlc-1.0.1编译,与vlc-1.0.0编译相同,提供vlc-1.0.1源码下载地址。
2010-04-15更新:vista或win7下面使用cygwin可能出现fork不出来的现象,解决方法见第8步。感谢vlc研究2群hali的提醒和帮助。
 
        1. Cygwin的安装
        Jeremiah继续使用Cygwin-new(20081208)版。最新的Cygwin应该也问题不大。Cygwin-new(20081208)在我的公共邮箱提供了下载,具体下载方式为:
1). 登录 http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(
jeremiah.vlc@gmail.com ),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
        安装过程中选择包为
Archive        
                unzip    
                zip    
Devel        
                autoconf    
                automake    
                binutils    
                cvs    
                gcc    
                gcc-core    
                gcc-g++    
                gcc-mingw    
                gcc-mingw-core    
                gcc-mingw-g++    
                gdb    
                gettext    
                gettext-devel
                git    
                libiconv
                libgcrypt-devel
                libtool    
                make    
                mingw-runtime
                nasm
                patchutils
                pkg-config    
                subversion    
Editor        
                vim    
Libs        
                expat
                libgcrypt
Web        
                curl
                wget
 
        2. 源码及库
解压源码到~(/home/yourname)下,解压库到/下。这里的解压都可以直接用winrar解压,不过要选对目录哟,源码是解压在X:/cygwin/home/yourname下面,库是解压到X:/cygwin/下面。
 
        3. 一点点清理工作
        删除/usr/win32/bin下面的moc,rcc,uic这三个文件,注意,保留moc.exe,rcc.exe,uic.exe。
 
        4. bootstrap
        cd到vlc-1.0.0中执行
./bootstrap
        成功后会显示
Successfully bootstrapped
 
        5.  configure
        保存以下脚本为myvlc.sh
PATH=/usr/win32/bin:$PATH /
PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig /
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" /
LDFLAGS=-L/usr/win32/lib /
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" /
./configure /
                 --host=i686-pc-mingw32 /
                 --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin /
                 --enable-avcodec --enable-avformat --enable-swscale /
                 --enable-faad --enable-flac --enable-theora /
                 --enable-freetype /
                 --enable-fribidi /
                 --enable-live555 --with-live555-tree=/usr/win32/live.com /
                 --enable-caca --with-caca-config-path=/usr/win32/bin /
                 --with--config-path=/usr/win32/bin /
                 --with-dvdnav-config-path=/usr/win32/bin /
                 --disable-cddax --disable-vcdx --enable-goom /
                 --enable-twolame --enable-dvdread /
                 --enable-debug        --enable-dca /
                 --disable-mkv --disable-taglib /
                 --disable-zvbi /
                 --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
        执行
./myvlc.sh
        成功后会显示
libvlc configuration
--------------------
version                             : 1.0.0
system                                : mingw32
architecture                    : i686 mmx sse sse2
build flavour                 : debug devel
vlc aliases                     : cvlc rvlc svlc qvlc
plugins/bindings            : activex mozilla

You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type `./compile' or `make'.
 
        6. 修改工作
        (1) 修改libtool第144行。
修改        
global_symbol_pipe=""        
为        
global_symbol_pipe="sed -n -e 's/^.*[                 ]//([ABCDGIRSTW][ABCDGIRSTW]*//)[                                                 ][                                                ]*//(//)//([_A-Za-z][_A-Za-z0-9]*//)/$///1//2//3 //3/p'"
        (2) 注释掉Makefile.am第700,730,741行,就是行首加入#。
#             cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win3
2_destdir)/"

#             cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des
tdir)/mozilla/

#             cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_des
tdir)/activex/
        (3) 修改share/Makefile.am第1行,share/Makefile第639行,share/Makefile.in第639行。
修改
MOSTLYCLEANFILES = $(nobase_vlcdata_DATA)

MOSTLYCLEANFILES = skins2/default.vlt
         注意行数可能不对,请对照着改。
        解释下这些错误的修改。
        第一个错误主要是一个正则表达式,libtool的问题。
        第二个错误因为在执行make package-win32-base的时候,会提示找不到某些manifest文件,所以注释掉,让它在打包的时候不去cp这些manifest。
        第三个错误是vlc-1.0.0特有的。主要是执行make clean后再次make会出现No rule to make target `skins2/fonts/FreeSans.ttf'的错误。主要是clean的时候把FreeSans.ttf等文件给删除了,这样的修改防止了错误删除。
 
        7. make
        执行
make
        应该不会报错,成功后,执行
make package-win32-base
        就此搞定!
 
        8. vista或win7有可能出现fork不出来的错误,如下:
8928 [main] perl 4540 C:/cygwin/bin/perl.exe: *** fatal error - unable to remap C:/cygwin/li
b/perl5/5.10/i686-cygwin/auto/File/Glob/Glob.dll to same address as parent(0x910000) != 0x9F000
0
            8 [main] perl 4476 fork: child 4540 - died waiting for dll loading, errno 11
         参考官网的解决方法:
It might fail with some unable to remap error <some_dll_file_name>. It seems you need to rebase all Cygwin DLLs: close all your cygwin applications and launch 'ash' from basic windows command prompt (Start -> Run -> cmd), from there run rebaseall (so start e.g. C:/cygwin/bin/ash.exe and type there text below).    

/bin/rebaseall -v
        也就是在cmd下面运行
X:/cygwin/bin/ash.exe
        然后在里面执行
/bin/rebaseall -v
        将cygwin所有使用的dll重新rebase一遍,就能解决问题。
windows平台下vlc编译之十一:vlc-1.0.2的编译
   很久没有更新博客了,最近Jeremiah确实有些忙,而且,也没有再对VLC进行深入研究。现在把最新的VLC-1.0.2版本的编译说一下。与VLC-1.0.0及VLC-1.0.1的差不多。在此从略写。
 
 
2009.11.04更新:vlc-1.0.3编译。与vlc-1.0.2相同,只添加源码地址。
2009.12.16更新:vlc-1.0.4源码发布,但是根据官网上的信息,vlc-1.0.4只是对基于X11的操作系统进行了Bug修复。所以Windows的和Mac就没有进行新的修复。在此只提供源码。 (This release is targetted at fixing bugs on the x11 platforms, fixing bugs especially for KDE, cairo-dock, XCB, v4l and FreeBSD compatibility. Binaries for Windows and Mac OS are not yet on the pipe.)
2010.02.05更新:vlc-1.0.5编译。与vlc-1.0.2相同,只添加源码地址。
2010.04.22更新:vlc-1.0.6编译。与vlc-1.0.2基本相同,增加一个x264.c的修改,见最后。添加源码地址。
 
具体每版更新信息请参考:http://www.videolan.org/developers/vlc-branch/NEWS
 
    1. 源码及库
 
 
 
    2. configure脚本
PATH=/usr/win32/bin:$PATH /
PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig /
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" /
LDFLAGS=-L/usr/win32/lib /
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" /
./configure /
                 --host=i686-pc-mingw32 /
                 --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin /
                 --enable-avcodec --enable-avformat --enable-swscale /
                 --enable-faad --enable-flac --enable-theora /
                 --enable-freetype /
                 --enable-fribidi /
                 --disable-fluidsynth /
                 --enable-live555 --with-live555-tree=/usr/win32/live.com /
                 --enable-caca --with-caca-config-path=/usr/win32/bin /
                 --with-dvdnav-config-path=/usr/win32/bin /
                 --disable-cddax --disable-vcdx --enable-goom /
                 --enable-twolame --enable-dvdread /
                 --enable-debug        --enable-dca /
                 --disable-mkv --disable-taglib /
                 --disable-zvbi /
                 --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
本次新的configure脚本主要删除了无效的配置,及加入了--disable-fluidsynth,否则编译不过。
 
    3. 修改错误
《windows平台下vlc编译之十:vlc-1.0.0的编译》的第6步的错误(1),(2)的错误还是要修改,(3)可以不用了。 但是要修改以下错误。
    修改MakeFile的1970行:
echo "Error: please remove $(win32_debugdir), it is in the way"; /
false /

echo "Error: please remove $(win32_debugdir), it is in the way"; /
rm -rf $(win32_debugdir) /
解释下:这个错误主要是由于最后执行make package-win32-base后会产生一个symbols-1.0.2文件夹,而这个文件夹在下次执行 make package-win32-base的时候提示存在,然后会报错,就是上面的false,将其改为删除此文件夹,不报错继续。
 
2010-04-22更新:vlc-1.0.6错误修改
由于官方使用了较新的x264的库,而没有给出相应的contrib,1.0.2的contrib中x264有些过时,没有x264_encoder_delayed_frames函数。vlc-1.0.6还好只是一句打印信息用到了此函数,故注释之。
注释掉vlc-1.0.6的modules/codec/x264.c的1643行:
// msg_Dbg( p_enc, "framecount still in libx264 buffer: %d", x264_encoder_delayed_frames( p_sys->h ) );
 
其他就没什么问题了,编译过VLC好几遍的对修改此问题都是轻车熟路了。没有编译过VLC的请下载视频观看。下载方式请看以前的博客。
windows平台下vlc编译之十二:用GDB调试vlc
   本着开源的精神,本着能让大家更好的学习vlc,使用vlc,今天Jeremiah写一篇重量级的博客,用GDB调试vlc。
 
    很多人尝试过用GDB调试vlc,但都失败了,主要是官方博客给出的调试方法不好用,只能在winvlc.c文件中调试,不能调试其他文件。Jeremiah也是经过了很久的研究,终于在身边一位高手的帮助下,实现了对vlc的调试。在此对身边这个高手表示感谢。
 
调试前提:
1) 对编译vlc有所了解,最好是编译成功过。由于用GDB调试vlc需要重新编译vlc,所以必须对编译vlc比较熟悉。本篇以vlc-1.0.5为例。如不清楚如何编译vlc的请参考《windows平台下vlc编译之十一:vlc-1.0.2的编译》及Jeremiah自己录制的编译vlc视频。
2) 对GDB有所了解,至少应该知道怎么用。如果不知道,去Google吧,一堆堆的资料。
 
    闲言少叙,进入正题。
       
    1. 执行./bootstrap之前,修改vlc-1.0.5的Makefile.am和Makefile.in文件,去掉以下内容:(直接删除掉)
# Rebase all those DLLs to speed up loading (need cygwin rebase)
  if rebase -b 0x42 /dev/null >/dev/null 2>&1; then /
    find $(win32_destdir) -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; /
  fi
        
    2. 修改myvlc.sh的CC和CXX变量,加入-g。
CC="gcc -mno-cygwin -g" CXX="g++ -mno-cygwin -g"
 
    3. 执行脚本,修改错误,执行make,这些都请参考以前博客。
       
    4. make成功后不要执行make package-win32-base。而是执行以下命令。
make package-win32-base-debug
 
    5. 现在就可以调试了。
cd vlc-1.0.5
gdb vlc
    显示如下:
 
    6. 设置断点。
    给vlc设置断点其实让Jeremiah头晕了很长时间,但最后终于搞定了。先打印下看看。输入l。
    设置断点可以用b function_name的形式,但vlc里面重名函数太多,所以此方法不太好用。
    采用另外的方式,b fine_name:line_number的形式,vlc里面重名的文件名是很少的,所以这样的方法可以很有效的设置断点。一开始设置会提示找不到,输入y让其记录就行了。此处举例设置avcodec.c的211行,OpenDecoder函数,即调试plugins/libavcodec_plugin.dll的代码。
 
    7. 执行程序,输入视频路径地址。
run d:/video/01.avi
    会执行到libvlc_new之后停住。
      按c继续执行后会在avcodec.c的OpenDecoder函数停 住。     
    通过这样的方式就可以进行调试了,比如用s或n进行单步调试。
 
    祝各位清明节快乐。
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值