Posted on 2007-12-06 17:59
vcommon 阅读(2828)
评论(0) 编辑 收藏 引用
1:
dllwrap -mno-cygwin --target=i386-mingw32 --def libavcodec.def -o libavcodec.dll libavcodec/allcodecs.o libavcodec/mem.o libavcodec/common.o libavcodec/utils.o libavcodec/mpegvideo.o libavcodec/h263.o libavcodec/dsputil.o libavcodec/msmpeg4.o libavcodec/mpeg12.o libavcodec/h263dec.o libavcodec/rv10.o libavcodec/jrevdct.o libavcodec/simple_idct.o libavcodec/my_utils.o libavcodec/i386/cputest.o libavcodec/i386/dsputil_mmx.o libavcodec/i386/mpegvideo_mmx.o libavcodec/i386/idct_mmx.o libavcodec/i386/motion_est_mmx.o libavcodec/i386/simple_idct_mmx.o -lmsvcrt -lcrtdll -L/lib/mingw
libavcodec/i386/motion_est_mmx.o:motion_est_mmx.c
.text+0x9f3): undefined reference to `_bone'
libavcodec/i386/motion_est_mmx.o:motion_est_mmx.c
.text+0xd33): undefined reference to `_bone'
libavcodec/i386/motion_est_mmx.o:motion_est_mmx.c
.text+0xdb3): undefined reference to `_bone'
libavcodec/i386/simple_idct_mmx.o:simple_idct_mmx.c:(.text+0x21): undefined reference to `_wm1010'
libavcodec/i386/simple_idct_mmx.o:simple_idct_mmx.c:(.text+0x11c): undefined reference to `_d40000'
collect2: ld returned 1 exit status
dllwrap: gcc exited with status 1
make: *** [libavcodec.dll] Error 1
Project : error PRJ0019: 工具从"正在执行生成文件项目操作"
生成日志保存在“file://c:\cygwin\usr\src\ffdshow\src\ffmpeg\Release\BuildLog.htm”中
解决方法:
将bone wm1010 d40000的static标识去掉即可通过.
应该2005的编译器的原因
2:cygwin生成的dll --libavcodec.dll
3:
编译FFDSHOW
生成ffdshow.ax加入graphedt的时候
av_getVersion crash.
将编译生成的libavcodec.dllcopy到本C:\mydocuments\ffdshow\src\ffmpeg下成功
然后在TffDecoder * pNewObject = new TffDecoder(punk, phr);中crash
发现会从注册表里的设置里边加载codec
4:编译最新的FFDSHOW:
报错:error: more than one input file specified
type `nasm -h' for help
Project : error PRJ0019: 工具从"正在执行自定义生成步骤"
没有明显原因.
结论:路径中带有空格,更换路径.
报错: mismatch in operand sizes
使用nasm-0.98.38-win32,编译成功.使用最新nasm2.0才出现.
成功.