libx264: Define X264_API_IMPORTS on MSVC/ICL
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Fri, 19 Jul 2013 18:25:57 +0000 (14:25 -0400)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Sun, 21 Jul 2013 12:56:25 +0000 (08:56 -0400)
libx264 has a few data exports which require X264_API_IMPORTS
to be defined if we link to libx264 dynamically on Windows.

In a similar fashion to how we handle our compat snprintf
implementation, if we define it all the time, the compiler
will first try and link to __imp_x264_symbol_name, and failing
that, as in the case of a static libx264, will attempt to link
to the non-prefixed symbol, which has already been pulled in by
other x264 functions' object files.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
libavcodec/libx264.c

index bb92110..665b31e 100644 (file)
 #include "libavutil/pixdesc.h"
 #include "avcodec.h"
 #include "internal.h"
+
+#if defined(_MSC_VER)
+#define X264_API_IMPORTS 1
+#endif
+
 #include <x264.h>
 #include <float.h>
 #include <math.h>