LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 803|回复: 8

编译MPlayer 加--enable-vesa参数不能通过

[复制链接]
发表于 2007-3-17 10:17:44 | 显示全部楼层 |阅读模式
  由于是一老显卡且带有TV输出和S端子输出,想用它来在电视上看电影,PCI接口,主芯片上写着EXPERTCOLOR,T-2000,启动时,显卡的LOGO里面显示支持VESA2.0,于是在编译MPlayer的时候加上了--enable-vesa参数,结果在编译的时候出错,好像是没有vbe.h这个头文件,出错信息摘录如下:
make[1]: Entering directory `/root/build/MPlayer-1.0rc1/libvo'
cc -c -I. -I.. -I../osdep  -I../libavutil -Wdeclaration-after-statement -fno-PIC -O4 -march=pentium4 -mtune=pentium4 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/X11R6/include  -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -DMPG12PLAY -o vo_vesa.o vo_vesa.c
In file included from vo_vesa.c:20:
gtf.h:4:17: vbe.h: No such file or directory
In file included from vo_vesa.c:20:
gtf.h:46: warning: "struct VesaCRTCInfoBlock" declared inside parameter list
gtf.h:46: warning: its scope is only this definition or declaration, which is probably not what you want
vo_vesa.c:129: error: `NEO_PAL' undeclared here (not in a function)
vo_vesa.c: In function `vbeErrToStr':
vo_vesa.c:139: error: `VBE_VESA_ERROR_MASK' undeclared (first use in this function)
vo_vesa.c:139: error: (Each undeclared identifier is reported only once
vo_vesa.c:139: error: for each function it appears in.)
vo_vesa.c:141: error: `VBE_VESA_ERRCODE_MASK' undeclared (first use in this function)
vo_vesa.c:147: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c:148: error: `VBE_VM86_FAIL' undeclared (first use in this function)
vo_vesa.c:149: error: `VBE_OUT_OF_DOS_MEM' undeclared (first use in this function)
vo_vesa.c:150: error: `VBE_OUT_OF_MEM' undeclared (first use in this function)
vo_vesa.c:151: error: `VBE_BROKEN_BIOS' undeclared (first use in this function)
vo_vesa.c: In function `vesa_term':
vo_vesa.c:166: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c: In function `__vbeSwitchBank':
vo_vesa.c:185: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:188: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c:197: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `__vbeSetPixel':
vo_vesa.c:202: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:203: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:204: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:205: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:206: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:208: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:213: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:214: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:215: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `__vbeCopyData':
vo_vesa.c:259: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:261: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_slice':
vo_vesa.c:281: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:289: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_32':
vo_vesa.c:300: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_24':
vo_vesa.c:313: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_16':
vo_vesa.c:326: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `draw_alpha_15':
vo_vesa.c:339: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `flip_page':
vo_vesa.c:391: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c: In function `draw_frame':
vo_vesa.c:420: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:434: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `parseSubDevice':
vo_vesa.c:454: error: `NEO_NTSC' undeclared (first use in this function)
vo_vesa.c: In function `paintBkGnd':
vo_vesa.c:480: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:481: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `clear_screen':
vo_vesa.c:508: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:509: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: In function `model2str':
vo_vesa.c:522: error: `memText' undeclared (first use in this function)
vo_vesa.c:523: error: `memCGA' undeclared (first use in this function)
vo_vesa.c:524: error: `memHercules' undeclared (first use in this function)
vo_vesa.c:525: error: `memPL' undeclared (first use in this function)
vo_vesa.c:526: error: `memPK' undeclared (first use in this function)
vo_vesa.c:527: error: `mem256' undeclared (first use in this function)
vo_vesa.c:528: error: `memRGB' undeclared (first use in this function)
vo_vesa.c:529: error: `memYUV' undeclared (first use in this function)
vo_vesa.c: In function `fillMultiBuffer':
vo_vesa.c:539: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:539: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: At top level:
vo_vesa.c:554: warning: "struct VesaCRTCInfoBlock" declared inside parameter list
vo_vesa.c: In function `set_refresh':
vo_vesa.c:579: warning: passing arg 7 of `GTF_calcTimings' from incompatible pointer type
vo_vesa.c:582: error: dereferencing pointer to incomplete type
vo_vesa.c:585: error: dereferencing pointer to incomplete type
vo_vesa.c:589: warning: passing arg 7 of `GTF_calcTimings' from incompatible pointer type
vo_vesa.c:603: error: dereferencing pointer to incomplete type
vo_vesa.c: In function `config':
vo_vesa.c:622: error: storage size of 'vib' isn't known
vo_vesa.c:623: error: storage size of 'vmib' isn't known
vo_vesa.c:624: error: storage size of 'crtc_pass' isn't known
vo_vesa.c:649: error: `VBE_OK' undeclared (first use in this function)
vo_vesa.c:664: error: `VBE_DAC_8BIT' undeclared (first use in this function)
vo_vesa.c:665: error: `VBE_NONVGA_CRTC' undeclared (first use in this function)
vo_vesa.c:666: error: `VBE_SNOWED_RAMDAC' undeclared (first use in this function)
vo_vesa.c:667: error: `VBE_STEREOSCOPIC' undeclared (first use in this function)
vo_vesa.c:668: error: `VBE_STEREO_EVC' undeclared (first use in this function)
vo_vesa.c:747: error: `MODE_ATTR_COLOR' undeclared (first use in this function)
vo_vesa.c:747: error: `MODE_ATTR_GRAPHICS' undeclared (first use in this function)
vo_vesa.c:749: error: `memRGB' undeclared (first use in this function)
vo_vesa.c:791: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:793: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:794: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:795: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:807: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:807: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:813: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:814: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:833: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:833: error: `MODE_WIN_RELOCATABLE' undeclared (first use in this function)
vo_vesa.c:833: error: `MODE_WIN_WRITEABLE' undeclared (first use in this function)
vo_vesa.c:836: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:840: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:840: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:840: error: `MODE_ATTR_LINEAR' undeclared (first use in this function)
vo_vesa.c:845: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:845: warning: assignment makes pointer from integer without a cast
vo_vesa.c:854: error: `VESA_MODE_USE_LINEAR' undeclared (first use in this function)
vo_vesa.c:856: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:878: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:878: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:883: warning: assignment makes pointer from integer without a cast
vo_vesa.c:885: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:889: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:890: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:892: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:893: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:898: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:898: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:914: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:914: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:937: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:937: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:983: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:983: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:1043: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c:1043: error: invalid use of undefined type `struct VesaModeInfoBlock'
vo_vesa.c: At top level:
vo_vesa.c:108: error: storage size of `video_mode_info' isn't known
make[1]: *** [vo_vesa.o] Error 1
make[1]: Leaving directory `/root/build/MPlayer-1.0rc1/libvo'
make: *** [libvo/libvo.a] Error 2
发表于 2007-3-17 23:08:02 | 显示全部楼层
Debian 中 vbe.h 是 xserver-xorg-dev 中的文件
回复 支持 反对

使用道具 举报

发表于 2007-3-18 11:17:33 | 显示全部楼层
LFS 系统下,Xorg 应该是不存在什麽 -dev 的东西的,孤独兄的 Xorg 是什麽版?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-18 11:39:41 | 显示全部楼层
我没有装XORG,我装的是XFREE,最新的XFREE86-4.6.0版本的。不知道有没有那个文件。
回复 支持 反对

使用道具 举报

发表于 2007-3-18 12:03:52 | 显示全部楼层
XFree86-4.6 应该跟 Xorg-6.9 编译方法是相同的,但现在身旁没有 LFS 编译的 Xorg 系统,要到下周二回公司後才能检查,不好意思。
回复 支持 反对

使用道具 举报

发表于 2007-3-18 13:09:53 | 显示全部楼层
很抱歉我的 sid 里没有 xfree86 的包, 因此不能确定 vbe.h 是否存在于其中, 但楼主不妨在其代码里 find 一下. 如果 xfree86 代码树中有, 而 /usr/include 中没有, 那么也许问题就在于 xfree86 本身的配置上?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-18 17:46:18 | 显示全部楼层
谢谢两位大侠,我找找看。
回复 支持 反对

使用道具 举报

发表于 2007-3-19 01:52:55 | 显示全部楼层
如果是发行版,也许没装那些头文件。。。。感觉只有这么一个原因:(
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-19 11:00:14 | 显示全部楼层
看了一下XC目录下,有两个vbe.h的头文件,不一样的两个文件,
xc/programes/XServer/hw/tiny/vesa/vbe.h
xc/programes/Xserver/hw/xfree86/vbe.h
不知道该用哪个,那像都不是的,
在/usr/X11R6/include/下面是没有这个头文件的。真不知道该怎么办了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表