[FFmpeg-user] ffmpeg mingw compilation 8192 char limits windows 10

Erwan Douaille douailleerwan at gmail.com
Mon Dec 24 09:29:40 EET 2018


Le mer. 19 déc. 2018 à 15:43, Carl Eugen Hoyos <ceffmpeg at gmail.com> a
écrit :

> 2018-12-19 14:39 GMT+01:00, Erwan Douaille <douailleerwan at gmail.com>:
>
> > I´m trying to compile ffmpeg shared with mingw64 on Windows 10.
> > Here is the configure command:
> >
> >     ./configure --arch=x86_64 --enable-shared --disable-static
> > --prefix=/e/Downloads/ffmpeg-dyn/
>
> Unrelated: "--arch=x86_64" does not do what you expect it to do,
> please remove it.
>
> > Everything looks ok.
> > Then I make:
> >
> >     mingw32-make.exe -j16
> >
> > But I encounter this error:
> >
> >     LD      libswresample/swresample-3.dll
> >     LD      libswscale/swscale-5.dll
> >     dlltool -m i386:x86-64 -d libswresample/swresample-3.def -l
> > libswresample/swresample.lib -D swresample-3.dll
> >     dlltool -m i386:x86-64 -d libswscale/swscale-5.def -l
> > libswscale/swscale.lib -D swscale-5.dll
> >     STRIP   libavcodec/x86/vp9itxfm.o
> >     GEN     libavcodec/libavcodec.ver
> >     EXTERN_PREFIX="" AR="ar" NM="nm -g" ./compat/windows/makedef
> > libavcodec/libavcodec.ver libavcodec/012v.o libavcodec/4xm.o
> > libavcodec/8bps.o libavcodec/8svx.o libavcodec/a64multienc.o
> >     ... // SKIP all .o files for stackoverflow
> >     libavcodec/y41pdec.o libavcodec/y41penc.o libavcodec/ylc.o
> > libavcodec/yop.o libavcodec/yuv4dec.o libavcodec/yuv4enc.o
> > libavcodec/zerocodec.o libavcodec/zmbv.o libavcodec/zmbvenc.o >
> > libavcodec/avcodec-58.def
> >     Object does not exist: lib
>
> Try:
> $ make V=1 libavcodec/libavcodec-58.dll
>
> Copy the first part of what is shown (something like "dlltool...")
> but remove everything beginning with "libavcodec/012v.o" and
> use "libavcodec/*.o" instead.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


What does --arch=x86_64 do ?

$ mingw32-make.exe V=1 libavcodec/libavcodec-58.dll
mkdir -p libavutil/
mkdir -p libswscale/
mkdir -p libswresample/
mkdir -p libavcodec/
mkdir -p libavformat/
mkdir -p libavfilter/
mkdir -p libavdevice/
mingw32-make: *** No rule to make target 'libavcodec/libavcodec-58.dll'.
Stop.

Doesn´t work. Then I tried to change :
EXTERN_PREFIX="$(EXTERN_PREFIX)" AR="$(AR_CMD)" NM="$(NM_CMD)"
$(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) >
$$(@:$(SLIBSUF)=.def)`
into
EXTERN_PREFIX="$(EXTERN_PREFIX)" AR="$(AR_CMD)" NM="$(NM_CMD)"
$(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(SUBDIR)/*.o >
$$(@:$(SLIBSUF)=.def)

SLIB_CREATE_DEF_CMD into common.mak, but i directly changed it into
library.mak by replacing $(SLIB_CREATE_DEF_CMD) by this line.

Result :
LD      libavcodec/avcodec-58.dll
C:/msys64-gcc73/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
Cannot export av_codec_ffversion: symbol not defined
C:/msys64-gcc73/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
Cannot export av_codec_get_chroma_intra_matrix: symbol not defined
C:/msys64-gcc73/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
Cannot export av_codec_get_codec_descriptor: symbol not defined
...
And  a lot of undefined references.

Thanks for helping.
-- 
Best regards,

Douaille Erwan <douaille.erwan at gmail.com>


More information about the ffmpeg-user mailing list