Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compiling FFMpeg libraries for Visual Studio

I'm trying to use the FFMpeg libraries in a Windows application. I use MingW-w64 to compile FFMpeg with static libraries with architecture once with x86 and once with x86_64. Currently I'm trying to link the 32bit x86 libraries with my VS2008 application. The libraries are added to the library path and VS does not complain about being unable to load a .a file.

However I get several uneresolved symbol errors like ait_rtp_receiver.lib(ait_decoder_lib.obj) : error LNK2001: unresolved external symbol _av_free

I import the FFMpeg header files as extern C and I can see the symbols in the .a without the leading underscore. What can I do to make the name decoration of Mingw-w64's gcc and of the VS compiler suite compatible?

like image 925
LostBoy Avatar asked Feb 13 '23 22:02

LostBoy


1 Answers

After spending miserable days trying to get the GCC-Mingw based version of building FFMpeg to work, I reverted to using the Visual Studio or Windows SDK compiler and linker. Using the --toolchain=msvc of the configure script made the build process generate static .a files that are basically .lib files that can be loaded within Visual Studio projects.

I wrote the build steps up and here is a link

like image 82
LostBoy Avatar answered Feb 16 '23 04:02

LostBoy