询问有关ffmpeg编译成静态库的问题
参考了cnblog:http://www.cnblogs.com/haibindev/archive/2011/12/01/2270126.html,目前我在Ubuntu 10.04版本下,用的交叉工具链mingw-w32-bin_i686-linux_20111220.tar.bz2也编译出了动态库文件,使用的命令如下:
../ffmpeg-0.8.7/configure --enable-cross-compile --cross-prefix=i686-w64-mingw32- --pkg-config=pkg-config --target-os=mingw32 --arch=x86 --prefix=/home/liuxianguo/opensdk/ffmpeg --disable-static --enable-shared --enable-version3 --enable-gpl --enable-nonfree --enable-w32threads --enable-runtime-cpudetect --enable-memalign-hack --enable-ffplay --extra-cflags="-I/home/liuxianguo/opensdk/include -I/home/liuxianguo/studio/mingw-w64-v2.0.1/mingw-w64-headers/include" --extra-ldflags=-L/home/liuxianguo/opensdk/lib --enable-libfaac --enable-libvo-aacenc --enable-libmp3lame --enable-libopenjpeg --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib
现在的问题是:
1.明明--enable-ffplay 了,且已经编译安装了SDL,为什么最终的编译结果里没有ffplay.exe的可执行文件呢(目前最终结果只有ffprobe.exe和ffmpeg.exe)?
2.编译成动态链接库时,很多*.dll文件出现在bin目录下,在lib目录下还有对应的*.dll.a文件,请问*.dll.a文件是否就是相当于windows平台下,与动态链接库文件对应的lib文件?
3.请问一下编译出的dll怎么在VS2005中使用呢?你能否给我写个小例子,让我看到效果的,谢谢。
4.我使用以下的配置选项试图编译出windows下可用的静态库文件*.lib,但是结果在lib目录下的静态库文件的后缀是*.a,我明明用的是交叉工具链i686-w64-mingw32啊,求解原因?
5.看网上有人说*.dll可以通过VS2005的lib.exe工具转换成*.lib,
../ffmpeg-0.8.7/configure --enable-cross-compile --cross-prefix=i686-w64-mingw32- --pkg-config=pkg-config --target-os=mingw32 --arch=x86 --prefix=/home/liuxianguo/opensdk/ffmpeg --enable-static --disable-shared --enable-version3 --enable-gpl --enable-nonfree --enable-w32threads --enable-runtime-cpudetect --enable-memalign-hack --enable-ffplay --extra-cflags="-I/home/liuxianguo/opensdk/include -I/home/liuxianguo/studio/mingw-w64-v2.0.1/mingw-w64-headers/include" --extra-ldflags=-L/home/liuxianguo/opensdk/lib --enable-libfaac --enable-libvo-aacenc --enable-libmp3lame --enable-libopenjpeg --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib
非常感谢你的解答。