diff --git a/3rdparty/lib/libavcodec64.a b/3rdparty/lib/libavcodec64.a index a66ddc1114..1274525268 100644 Binary files a/3rdparty/lib/libavcodec64.a and b/3rdparty/lib/libavcodec64.a differ diff --git a/3rdparty/lib/libavcore64.a b/3rdparty/lib/libavcore64.a new file mode 100644 index 0000000000..932a54adee Binary files /dev/null and b/3rdparty/lib/libavcore64.a differ diff --git a/3rdparty/lib/libavdevice64.a b/3rdparty/lib/libavdevice64.a index a7d3f66647..8125741f03 100644 Binary files a/3rdparty/lib/libavdevice64.a and b/3rdparty/lib/libavdevice64.a differ diff --git a/3rdparty/lib/libavformat64.a b/3rdparty/lib/libavformat64.a index 9c7218ae8c..2e2a25e312 100644 Binary files a/3rdparty/lib/libavformat64.a and b/3rdparty/lib/libavformat64.a differ diff --git a/3rdparty/lib/libavutil64.a b/3rdparty/lib/libavutil64.a index 570210415d..eaeb744554 100644 Binary files a/3rdparty/lib/libavutil64.a and b/3rdparty/lib/libavutil64.a differ diff --git a/3rdparty/lib/libgcc64.a b/3rdparty/lib/libgcc64.a new file mode 100644 index 0000000000..0526c6bdc1 Binary files /dev/null and b/3rdparty/lib/libgcc64.a differ diff --git a/3rdparty/lib/libmingwex64.a b/3rdparty/lib/libmingwex64.a new file mode 100644 index 0000000000..7bd9d98dcc Binary files /dev/null and b/3rdparty/lib/libmingwex64.a differ diff --git a/3rdparty/lib/libswscale64.a b/3rdparty/lib/libswscale64.a index a1c8d43c33..48c45f0fc8 100644 Binary files a/3rdparty/lib/libswscale64.a and b/3rdparty/lib/libswscale64.a differ diff --git a/3rdparty/lib/libwsock3264.a b/3rdparty/lib/libwsock3264.a new file mode 100644 index 0000000000..86c4156cc7 Binary files /dev/null and b/3rdparty/lib/libwsock3264.a differ diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index c029c23387..87bd90171c 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -11,9 +11,7 @@ add_subdirectory(features2d) add_subdirectory(flann) if(MSVC OR MINGW) - if(NOT CMAKE_CL_64) - add_subdirectory(ffmpeg) - endif() + add_subdirectory(ffmpeg) endif() if(BUILD_TESTS) diff --git a/modules/ffmpeg/CMakeLists.txt b/modules/ffmpeg/CMakeLists.txt index 66e2560f55..999699c8d0 100644 --- a/modules/ffmpeg/CMakeLists.txt +++ b/modules/ffmpeg/CMakeLists.txt @@ -26,8 +26,10 @@ if (NOT MSVC) if(WIN32 AND MINGW64) target_link_libraries(${the_target} ${CMAKE_SOURCE_DIR}/3rdparty/lib/libavformat64.a ${CMAKE_SOURCE_DIR}/3rdparty/lib/libavcodec64.a + ${CMAKE_SOURCE_DIR}/3rdparty/lib/libavdevice64.a ${CMAKE_SOURCE_DIR}/3rdparty/lib/libavutil64.a ${CMAKE_SOURCE_DIR}/3rdparty/lib/libswscale64.a + ${CMAKE_SOURCE_DIR}/3rdparty/lib/libavcore64.a libws2_32.a) else() target_link_libraries(${the_target} ${CMAKE_SOURCE_DIR}/3rdparty/lib/libavformat.a diff --git a/modules/ffmpeg/ffopencv.cpp b/modules/ffmpeg/ffopencv.cpp index 44f83f8728..e018641a7f 100644 --- a/modules/ffmpeg/ffopencv.cpp +++ b/modules/ffmpeg/ffopencv.cpp @@ -531,21 +531,30 @@ That's all there is to it! #if !defined(_MT) || defined(_DLL) extern "C" { __declspec(dllexport) unsigned int __lc_codepage = 0; } #endif - +#ifdef _M_X64 +#pragma comment(lib, "libgcc64.a") +#pragma comment(lib, "libmingwex64.a") +#else #pragma comment(lib, "libgcc_.a") #pragma comment(lib, "libmingwex_.a") #pragma comment(lib, "libcoldname_.a") +#endif + #ifdef _M_X64 #pragma comment(lib, "libavformat64.a") #pragma comment(lib, "libavcodec64.a") #pragma comment(lib, "libavutil64.a") +#pragma comment(lib, "libavcore64.a") +#pragma comment(lib, "libswscale64.a") +#pragma comment(lib, "libwsock3264.a") #else #pragma comment(lib, "libavformat.a") #pragma comment(lib, "libavcodec.a") #pragma comment(lib, "libavutil.a") #pragma comment(lib, "libswscale.a") -#endif #pragma comment(lib, "libwsock32_.a") +#endif + #endif