2010-11-23 11 views

Respuesta

5

No es posible porque ffmpeg hace un uso extensivo de las características C99 (con una buena razón), y MSVC no es compatible con el rincón y las grietas del estándar.

Sin embargo, puede utilizar la biblioteca C creada por MinGW para usar con proyectos de Visual Studio. Consulte los siguientes enlaces para toda la información que necesita:

  1. Información sobre el edificio/el uso de la biblioteca en Windows con Visual Studio: http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page
  2. Descargas: http://ffmpeg.arrozcru.org/autobuilds/
3

Por supuesto, es posible

Para utilizar las bibliotecas FFmpeg SVN con su proyecto de Microsoft Visual C++, primero debe asegurarse de que su compilación de Microsoft Visual C++ el sistema tiene los archivos de ejemplo inttypes.hy stdint.h incluyen.

¿Cómo sé si tengo esos archivos? Bueno ... a menos que ya lo haya hecho y sepa que tiene ese archivo, no lo tiene. MSVC++ no se adhiere al estándar C99, donde se especifica ese archivo, por lo que está en aquí.

Alexander Chemeris era lo suficientemente bueno como para hacer este tipo de archivos de Microsoft Visual C++, por lo que se puede encontrar aquí

Descargar última archivo de enlace de arriba y descomprimirlo en la carpeta de que instaló FFmpeg de archivos de inclusión. La ruta predeterminada es /usr/local/include, que es, en esta guía para Windows, C: \ msys \ local \ include.

Inttypes C99

+0

buena respuesta: puede usar mingw o binarios compilados cruzados (dll) y vincularlos como otra opción para compilar todo con MSVC – rogerdpack

7

Al parecer alguien en Google ha escrito un "convertidor descendente" C99 a C89 en parte para obtener ffmpeg a compilar con Visual Studio:

http://blogs.gnome.org/rbultje/2012/09/27/microsoft-visual-studio-support-in-ffmpeg-and-libav/

La herramienta escribieron en la actualidad sólo en forma de código fuente. Aunque esa herramienta está escrita en C, utiliza algunas características específicas del compilador, específicas del compilador Clang, por lo que actualmente necesita clang para compilarlas. Tenía que obtener todas las piezas a Clang (que se basa en llvm) y compilar con VS2010. OK, entendí eso, así que ahora tengo las dos herramientas compiladas: c99wrap.exe y c99conv.exe.

El blog no menciona dos cosas importantes que se mencionan aquí:

http://libav.org/platform.html#Microsoft-Visual-C_002b_002b

En primer lugar, usted tiene que asegurarse la link.exe que se utiliza es el Visual C linker y no mingw linker. Además, el msvc toolchain en msys aún no es compatible con las compilaciones DLL compartidas, solo admite compilaciones de lib estáticas en este momento, por lo que --enabled-shared no puede vincularse.

+0

ver también http://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b que es el mismo enlace – rogerdpack

2

Visual Studio 2013 proporciona la compatibilidad con C99 que faltaba anteriormente. Con este ffmpeg ahora se puede construir utilizando Visual Studio 2013. Puede leer más sobre las nuevas características de lenguaje/bibliotecas here.

Además, pruebe Visual Studio 2013 RC here.

Cuestiones relacionadas