博客统计信息

51cto推荐博客
用户名:jeremiah
文章数:41
评论数:558
访问量:556314
无忧币:1208
博客积分:1490
博客等级:5
注册日期:2008-11-20

我的技术圈(2)

更多>>
windows平台下vlc编译之十三:vlc1.1.0编译
2010-06-25 16:41:12
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeremiah.blog.51cto.com/539865/339181
    VLC1.1.0的编译有点周折,去官网论坛问询才搞定。在这还是记录下过程供大家参考。
 
    2010.06.29修改:LUA的编译,感谢评论的一楼提醒。最后添加一个注释,见第5步。
    2010.07.28修改:vlc-1.1.1的编译,库与1.1.0的相同,其他编译脚本和方法也与1.1.0相同。故只添加源码地址。
    2010.08.04修改:vlc-1.1.2的编译,库与1.1.0的相同,其他编译脚本和方法也与1.1.0相同。故只添加源码地址。
    2010.09.17修改:vlc-1.1.3和vlc1.1.4的编译,库与1.1.0的相同,其他编译脚本和方法也与1.1.0相同。故只添加源码地址。
 
     环境:一直使用的cygwin-new20081208版。
 
     1. 首先解压LUA到/home/yourname下面。修改src/Makefile,将CC = gcc改成CC = gcc -mno-cygwin,然后执行
make mingw
make install
    完成后执行luac,如果出现以下文字则表示安装成功。

d:\cygwin_new\usr\local\bin\luac.exe: no input files given
usage: d:\cygwin_new\usr\local\bin\luac.exe [options] [filenames].
Available options are:
    -                process stdin
    -l             list
    -o name    output to file 'name' (default is "luac.out")
    -p             parse only
    -s             strip debug information
    -v             show version information
    --             stop handling options

 
    2. 解压源码和库。
 
    3. 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 \
  --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-dvdnav-config-path=/usr/win32/bin \
  --disable-vcdx --enable-goom \
  --enable-twolame --enable-dvdread \
  --enable-debug --enable-dca \
  --disable-mkv --disable-taglib --disable-projectm \
  --disable-zvbi --disable-schroedinger --disable-dirac \
  --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
 
    4. 其他的跟1.0.0编译一样。bootstrap,修改错误,执行脚本,make和make package-win32-base。
Jeremiah以前写的《windows平台下vlc编译之十:vlc-1.0.0的编译》的第6步的错误(1),(2)的错误还是要修改。
 
    5. 在Jeremiah使用编译版本时,发现一个问题,就是使用VLC1.1.0播放视频时,如果地址是linux形式的地址,就会出错。如果是windows的地址,就没事,很奇怪。比如地址如果是d:/video/01.avi,则会报一个vc++ runtime library的错误。如果地址是d:\video\01.avi,就可以顺利执行过去。很奇怪的问题。呵呵。注意下就行了。
 
    祝编译愉快!

本文出自 “海狗哥的流媒体空间” 博客,请务必保留此出处http://jeremiah.blog.51cto.com/539865/339181

分享至
更多
一键收藏,随时查看,分享好友!
xc_shen
1人
了这篇文章
类别:VLC技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 <<   1   2   3   4   5   >>   页数 ( 1/5 )  
2010-06-29 09:59:25
LUA在cygwin下编译不行,
./configure
make
make install

改为
make ansi
make install
成功编译
博主回复:
2010-06-29 13:11:04
对了对了,是我搞错了。。。
谢谢提醒。

2010-06-29 12:56:27
那里可以下到楼主你的视频啊,还有你公共邮箱密码多少啊?我给你发过几个邮件了,你没回呀!等待中。。。。。
博主回复:
2010-06-29 13:11:54
我的邮箱是自动恢复邮件的。如果你没有收到邮件,请留下你的邮箱地址我给你发一个。

2010-06-29 18:45:14
我在最后make过程中有如下错误,不知怎么处理,请问博主这种问题该怎么查?
libtool: link: gcc -mno-cygwin -std=gnu99 -shared .libs/libaccess_avio_plugin_l
a-avio.o -Wl,--whole-archive ../../compat/.libs/libcompat.a -Wl,--no-whole-arch
ive -L/usr/win32/lib -lavformat -lavcodec -lpsapi -lz -lgsm /usr/win32/lib/libm
p3lame.a -lvpx -lavutil ../../src/.libs/libvlccore.dll.a -lkernel32 -lws2_32 -ln
etapi32 -lwinmm /usr/win32/lib/libiconv.a -lmingw32 -mno-cygwin -mtune=pentium2
-mms-bitfields   -o .libs/libaccess_avio_plugin.dll -Wl,--enable-auto-image-bas
e -Xlinker --out-implib -Xlinker .libs/libaccess_avio_plugin.dll.a
/usr/win32/lib/libavcodec.a: could not read symbols: No more archived files
collect2: ld returned 1 exit status
Creating library file: .libs/libaccess_smb_plugin.dll.a
make[5]: *** [libaccess_avio_plugin.la] Error 1
make[5]: *** Waiting for unfinished jobs....
libtool: link: ( cd ".libs" && rm -f "libaccess_smb_plugin.la" && ln -s "../liba
ccess_smb_plugin.la" "libaccess_smb_plugin.la" )
make[5]: Leaving directory `/cygdrive/e/cygwin/vlc/vlc-1.1.0/modules/access'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/cygdrive/e/cygwin/vlc/vlc-1.1.0/modules/access'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/cygdrive/e/cygwin/vlc/vlc-1.1.0/modules/access'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/cygdrive/e/cygwin/vlc/vlc-1.1.0/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/e/cygwin/vlc/vlc-1.1.0'
make: *** [all] Error 2
博主回复:
2010-06-30 08:41:21
could not read symbols.
你是不是做了make clean了。可能Makefile里面的clean目标会删除部分原来需要的文件。建议你重新解压一个源码进行编译。不要执行make clean。
如果还不行,就找找configure -h里面有没有smb相关的选项,disable了就可以了。

2010-06-30 11:27:46
你好,我的邮箱是hf20033@hotmail.com,谢谢了
博主回复:
2010-06-30 12:21:36
发了。

2010-07-05 08:49:16
你好,我在编译1.0.0的版本make的时候提示的错误麻烦你看看为什么,谢谢!
network/winsock.c:124: error: `WSA_QOS_EUNKNOWNPSOBJ' undeclared here (not in a
function)
network/winsock.c:124: error: initializer element is not constant
network/winsock.c:124: error: (near initialization for `wsaerrmsg[87].code')
network/winsock.c:124: error: initializer element is not constant
network/winsock.c:124: error: (near initialization for `wsaerrmsg[87]')
network/winsock.c:125: error: initializer element is not constant
network/winsock.c:125: error: (near initialization for `wsaerrmsg[88]')
network/winsock.c:126: error: initializer element is not constant
network/winsock.c:126: error: (near initialization for `wsaerrmsg[89]')
network/winsock.c:127: error: initializer element is not constant
network/winsock.c:127: error: (near initialization for `wsaerrmsg[90]')
network/winsock.c:128: error: initializer element is not constant
network/winsock.c:128: error: (near initialization for `wsaerrmsg[91]')
network/winsock.c:129: error: initializer element is not constant
network/winsock.c:129: error: (near initialization for `wsaerrmsg[92]')
network/winsock.c:130: error: initializer element is not constant
network/winsock.c:130: error: (near initialization for `wsaerrmsg[93]')
network/winsock.c:131: error: initializer element is not constant
network/winsock.c:131: error: (near initialization for `wsaerrmsg[94]')
network/winsock.c:132: error: initializer element is not constant
network/winsock.c:132: error: (near initialization for `wsaerrmsg[95]')
make[4]: *** [network/libvlccore_la-winsock.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
libtool: compile: gcc -mno-cygwin -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../inc
ude -I../include -I/usr/win32/include -I/usr/win32/include/ebml -D__USE_MINGW_A
SI_STDIO=1 -DSYS_MINGW32 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D__USE_UN
X98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG -D__LIBVLC__ -I..
src/misc -g -O2 -ffast-math -funroll-loops -mtune=pentium2 -DMODULE_STRING=\"ma
n\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DD
TA_PATH=\"/usr/local/share/vlc\" -DLIBDIR=\"/usr/local/lib\" -DPLUGIN_PATH=\"/u
r/local/lib/vlc\" -mms-bitfields -Wall -Wextra -Wsign-compare -Wundef -Wpointer
arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -We
ror-implicit-function-declaration -MT extras/libvlccore_la-getopt.lo -MD -MP -M
extras/.deps/libvlccore_la-getopt.Tpo -c extras/getopt.c -DDLL_EXPORT -DPIC -
extras/.libs/libvlccore_la-getopt.o
extras/getopt.c:929: warning: no previous prototype for 'getopt'
extras/getopt.c:358: warning: unused parameter 'argc'
extras/getopt.c:359: warning: unused parameter 'argv'
mv -f extras/.deps/libvlccore_la-getopt.Tpo extras/.deps/libvlccore_la-getopt.P
o
make[4]: Leaving directory `/home/Administrator/vlc-1.0.0/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/Administrator/vlc-1.0.0/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Administrator/vlc-1.0.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Administrator/vlc-1.0.0'
博主回复:
2010-07-05 10:06:06
WSA_QOS_EUNKNOWNPSOBJ这个错误好像遇到好几次了。我是没有遇到过。
src/network/winsock.c的include头文件之后加入:
#ifndef WSA_QOS_EUNKNOWNPSOBJ
# define WSA_QOS_EUNKNOWNPSOBJ 11024L
#endif
然后在编译下试试。然后请反馈是否成功。谢谢。

 <<   1   2   3   4   5   >>   页数 ( 1/5 )  

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: