Opened 13 months ago

Last modified 13 months ago

#5817 reopened defect

WinRT compilation does not work

Reported by: marcelo.emmerich Owned by:
Priority: important Component: build system
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Followed strictly the compilation guide from
https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT
for Windows 10 x64 with VS 2015 and FFMPEG 3.1.3.

When doing "make" the following error appears:

C:/ffmpeg/libavcodec/nvenc.c(173): error C4013: "LoadLibrary?" undefined;

make: * libavcodec/nvenc.o Error 2

I tried the older releases of FFMPEG and they all worked fine, but it didn´t work for the newest version, neither on Windows 10 nor on Windows 8.1.

How to reproduce:
Get VS 2015, set up MSYS2, yasm and gas-preprocessor as described in the guide. (Veryfying my FFMPEG setup worked correctly.)
Set up the variables in VS2015 x86 x64 Cross Tools Command Prompt like they do in the guide,open the msys2 shell, configure and make.

Change History (9)

comment:1 Changed 13 months ago by cehoyos

  • Keywords compilation guide msvc visual studio removed
  • Resolution set to invalid
  • Status changed from new to closed
  • Version set to unspecified

Please test current FFmpeg git head.

comment:2 Changed 13 months ago by cehoyos

Please test current FFmpeg git head.

comment:3 Changed 13 months ago by marcelo.emmerich

I tested with current hit HEAD. The original error went away and the DLLs were built. However, when running our application compiled with the newly build ffmpeg from git HEAD, the application crashed with The application was unable to start correctly (0xc000a200). Click OK to close the application

Environment is WIndows 10 64bit.

comment:4 Changed 13 months ago by marcelo.emmerich

I tested with current hit HEAD. The original error went away and the DLLs were built. However, when running our application compiled with the newly build ffmpeg from git HEAD, the application crashed with The application was unable to start correctly (0xc000a200). Click OK to close the application

Environment is WIndows 10 64bit.

comment:5 Changed 13 months ago by cehoyos

Is this related to LoadLibrary or is this an independent issue?
To test, try to compile with --disable-nvenc.

comment:6 Changed 13 months ago by marcelo.emmerich

I rebuilt with --disable-nvenc but resulting test application still gives The application was unable to start correctly (0xc000a200). Click OK to close the application.

The error code refers to the linker option APPCONTAINER. I can see that the configure command contains --extra-ldflags="-APPCONTAINER WindowsApp.lib". Leaving that out results in the library not being build at all.

comment:7 Changed 13 months ago by cehoyos

  • Priority changed from normal to important
  • Resolution invalid deleted
  • Status changed from closed to reopened

Is the issue reproducible with ./configure && make ffmpeg.exe (and ./configure --disable-nvenc && make ffmpeg.exe)?

Last edited 13 months ago by cehoyos (previous) (diff)

comment:8 Changed 13 months ago by cehoyos

  • Summary changed from compilation guide does not work with latest version to WinRT compilation does not work

comment:9 Changed 13 months ago by marcelo.emmerich

I have tried to do ./configure --disable-nvenc && make ffmpeg.exe , but then the message
make: *** No Rule to make „ffmpeg.exe“. Stop. occurs.

I also tested it with

--target-os=win64 instead of --target-os=win32, but the error (0xc000a200) was the same when running a test application.

Note: See TracTickets for help on using tickets.