Эх сурвалжийг харах

V0.2.2
1、Windows下使用gcc也可以编译调用ffmpeg动态库了

apple 6 өдөр өмнө
parent
commit
a415a27d6e
1 өөрчлөгдсөн 17 нэмэгдсэн , 4 устгасан
  1. 17 4
      ffmpeg/FindFFMPEG.cmake

+ 17 - 4
ffmpeg/FindFFMPEG.cmake

@@ -12,13 +12,26 @@ message(STATUS "***** Find FFMEPG Library *****")
 # )
 
 
-
+unset(FFMPEG_INCLUDE_DIR)
+unset(FFMPEG_LIBRARY)
 
 #查找库文件,需要判断操作系统,位数
 if(CMAKE_SYSTEM_NAME MATCHES "Windows")
     list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/include)
-    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-        unset(FFMPEG_LIBRARY)
+    if(CMAKE_CXX_COMPILER_ID MATCHES GNU)
+        if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavcodec.dll.a)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavdevice.dll.a)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavfilter.dll.a)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavformat.dll.a)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libavutil.dll.a)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libswresample.dll.a)
+            list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/libswscale.dll.a)
+            
+        elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
+            message(STATUS "Not support 32bit GNU Compiler")
+        endif()
+    elseif(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
         list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avcodec.lib)
         list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avdevice.lib)
         list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg-n5.1.6/lib/avfilter.lib)
@@ -30,7 +43,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Windows")
 #添加Linux版本
 elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
     list(APPEND FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/include)
-    unset(FFMPEG_LIBRARY)
+
     list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavcodec.so)
     list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavdevice.so)
     list(APPEND FFMPEG_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/ffmpeg4.4.5/libs/linux/libavfilter.so)