在msys2和mingw32上编译ffmpeg——创建ffmpeg_g.exe时出错

在msys2和mingw32上编译ffmpeg——创建ffmpeg_g.exe时出错,ffmpeg,mingw32,msys2,Ffmpeg,Mingw32,Msys2,我使用MSYS2和MinGW从源代码编译了ffmpeg。在编译过程中成功创建了库文件,当make utility继续构建ffmpeg_g时,我得到了很多未定义的引用。请告诉我编译失败的原因。。。。 提前感谢 已成功生成以下库文件 libavcodec.a libavdvice.a libavfilter.a libavformat.a libavutil.a libpostproc.a libswresample.a libswscale.a 通过使用-d选项和mke编译ffmpeg

我使用MSYS2和MinGW从源代码编译了ffmpeg。在编译过程中成功创建了库文件,当make utility继续构建ffmpeg_g时,我得到了很多未定义的引用。请告诉我编译失败的原因。。。。 提前感谢

已成功生成以下库文件

libavcodec.a
libavdvice.a 
libavfilter.a 
libavformat.a 
libavutil.a 
libpostproc.a
libswresample.a
libswscale.a 
通过使用-d选项和mke编译ffmpeg_g.exe输出时传递的命令

g++ -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--nxcompat -Wl,--dynamicbase -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample  -o ffmpeg_g.exe ffmpeg_opt.o ffmpeg_filter.o ffmpeg.o cmdutils.o  -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil -lavicap32 -lpsapi -lole32 -lstrmiids -luuid -lws2_32 -lx264 -lvpx -lvpx -lvpx -lvpx -lvorbisenc -lvorbis -logg -lopenjpeg -lmp3lame -lfdk-aac -lfaac -lbluray -L/mingw32/lib -lass -lm -lharfbuzz -lfontconfig -lexpat -lfreetype -lexpat -lenca -lm -lfribidi -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lintl -lfreetype -lz -lbz2 -lm -lbz2 -lz -lpsapi -ladvapi32 -lshell32
gcc的输出如下所示

ffmpeg_opt.o: In function new_output_stream:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:1036: undefined reference to avcodec_get_context_defaults3
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:1089: undefined reference to av_get_exact_bits_per_sample
ffmpeg_opt.o: In function find_codec_or_die:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:514: undefined reference to avcodec_find_encoder_by_name
ffmpeg_opt.o: In function choose_encoder:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:965: undefined reference to avcodec_find_encoder
ffmpeg_opt.o: In function find_codec_or_die:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:518: undefined reference to avcodec_find_encoder
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:514: undefined reference to avcodec_find_decoder_by_name
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:518: undefined reference to avcodec_find_decoder
ffmpeg_opt.o: In function add_input_streams:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:596: undefined reference to av_codec_get_lowres
ffmpeg_opt.o: In function choose_decoder:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:546: undefined reference to avcodec_find_decoder
ffmpeg_opt.o: In function add_input_streams:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:546: undefined reference to avcodec_find_decoder
ffmpeg_opt.o: In function open_input_file:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:872: undefined reference to avcodec_get_class
ffmpeg_opt.o: In function add_input_streams:
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:631: undefined reference to avcodec_find_decoder
E:\software\pkg\ffmpeg-2.1.3.tar\ffmpeg-2.1.3\ffmpeg-2.1.3/ffmpeg_opt.c:595: undefined reference to avcodec_find_decoder
大量未定义的引用,后跟

生成输出

LD ffmpeg_g.exe
Reaping losing child 01584DA0 PID 29691080 
Makefile:105: recipe for target ffmpeg_g.exe failed
Removing child 01584DA0 PID 29691080 from chain.

你能把完整的输出发布到pastebin或者是一个要点或者是什么(运行make-V)吗?嗨。。我已将完整输出粘贴到以下链接:好的,现在执行“make-V”PleaseOps的完整输出,我的意思是
make V=1
LOLhi。。对不起,我不明白,我还是一个没有缺点的人。。。我已将make V=1的输出粘贴到:。谢谢你的帮助。。。
LD ffmpeg_g.exe
Reaping losing child 01584DA0 PID 29691080 
Makefile:105: recipe for target ffmpeg_g.exe failed
Removing child 01584DA0 PID 29691080 from chain.