首页 > 其他分享 >cmake find_package

cmake find_package

时间:2024-04-30 15:00:41浏览次数:27  
标签:set cmake ffmpeg LIB package so PATH find FFMPEG

if(CMAKE_VERSION VERSION_LESS 3.10)     message(FATAL_ERROR "CMake 3.10 is required by Findffmpeg.cmake") endif()
set(ffmpeg_VERSION 6.1)
set(HEADS_PATH ${PROJECT_SOURCE_DIR}/external/ffmpeg/prebuild/include) set(LIB_PATH ${PROJECT_SOURCE_DIR}/external/ffmpeg/prebuild/lib/${CMAKE_SYSTEM_PROCESSOR}/linux/lib64)
find_path(ffmpeg_INCLUDE_DIR         NAMES libavcodec/avcodec.h         HINTS ${HEADS_PATH}     )
find_library(ffmpeg_LIBRARY         NAMES         avfilter         avformat         avcodec         avutil         swresample         swscale         avdevice         HINTS ${LIB_PATH} )
include(FindPackageHandleStandardArgs) find_package_handle_standard_args(ffmpeg     FOUND_VAR         ffmpeg_FOUND     REQUIRED_VARS         ffmpeg_LIBRARY         ffmpeg_INCLUDE_DIR     VERSION_VAR         ffmpeg_VERSION )
if(ffmpeg_FOUND)     add_library(ffmpeg UNKNOWN IMPORTED)     set_target_properties(ffmpeg PROPERTIES         IMPORTED_LOCATION "${ffmpeg_LIBRARY}"         INTERFACE_COMPILE_OPTIONS "${ffmpeg_DEFINITIONS}"         INTERFACE_INCLUDE_DIRECTORIES "${ffmpeg_INCLUDE_DIR}"     ) endif()             #接口库的方式导入ffmpeg set(FFMPEG_LIB_PATH ${PROJECT_SOURCE_DIR}/external/ffmpeg/prebuild/lib/${CMAKE_SYSTEM_PROCESSOR}/linux/lib64)
set(FFMPEG_LIBS "\ ${FFMPEG_LIB_PATH}/libavfilter.so;\ ${FFMPEG_LIB_PATH}/libavformat.so;\ ${FFMPEG_LIB_PATH}/libavcodec.so;\ ${FFMPEG_LIB_PATH}/libavutil.so;\ ${FFMPEG_LIB_PATH}/libswresample.so;\ ${FFMPEG_LIB_PATH}/libswscale.so;\ ${FFMPEG_LIB_PATH}/libavdevice.so\ ")
#x86_64平台编译的ffmpeg依赖libx264-dev libx265-dev库 string(FIND "${CMAKE_SYSTEM_PROCESSOR}" "x86_64" NEED_X264) if(NEED_X264 GREATER -1)     string(APPEND FFMPEG_LIBS ";${FFMPEG_LIB_PATH}/libx264.so;${FFMPEG_LIB_PATH}/libx265.so") endif()
add_library(ffmpeg INTERFACE IMPORTED GLOBAL)
set_target_properties(ffmpeg PROPERTIES INTERFACE_LINK_LIBRARIES "${FFMPEG_LIBS}" )
set_target_properties(ffmpeg PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/external/ffmpeg/prebuild/include" )

标签:set,cmake,ffmpeg,LIB,package,so,PATH,find,FFMPEG
From: https://www.cnblogs.com/linxisuo/p/18168031

相关文章

  • 【Modelsim问题】# ** Error: (vsim-3170) Could not find 'lab1_tb'.
     #**Error:(vsim-3170)Couldnotfind'lab1_tb'. testbench文件名与其中module 后紧跟的名称不匹配......
  • linux8-which&find
    linux8-which&findwhich查看linux命令的程序文件存放位置#查看cd命令的程序文件位置whichcdfind文件/文件夹查找选项:-name以文件名形式去查找文件名需要用双引号包裹#从根目录开始搜索test文件/文件夹find/-name"test"#从HOME目录开始搜索test文件/文件......
  • Could not find module '.../libtorchaudio_ffmpeg.pyd' | RuntimeError: StreamRea
    Windows中使用torchaudio.io.StreamReader时报错:FileNotFoundError:Couldnotfindmodule'D:\software\miniconda3\envs\pytorch\Lib\site-packages\torchaudio\lib\libtorchaudio_ffmpeg.pyd'(oroneofitsdependencies).Tryusingthefullpathwith......
  • R语言中取色器 colorfindr测试
      需求:一张图片,想知道到底是什么颜色,在R语言中的颜色系统中。测试图片如下: 001、install.packages("colorfindr")##安装包library("colorfindr")##加载包get_colors(img="aa.png",min_share=......
  • cmake 的 -S -B -D 分别是什么意思
     在CMake中,命令行参数-S、-B和-D分别代表以下含义:-S<path>或--source<path>:指定项目的源代码目录。这个路径应该是包含CMakeLists.txt文件的目录。-B<path>或--build<path>:指定构建目录,也就是生成的Makefile或其他构建系统文件将被放置的地方,以......
  • cmake设置项目文件在IDE中分组显示
    Visualstudio效果关键代码source_group("DM"FILES${SRC_FILES})效果代码#指定源码目录set(PROJECT_SRC_ROOT${CMAKE_CURRENT_SOURCE_DIR}/src)#有这些文件需要纳入编译:不推荐这样用,应该一个一个文件的手动加入到这里file(GLOB_RECURSESRC_FILES${PROJECT_......
  • 软件开发与创新-ColorFinder风险分析和典型用户
    典型用户:风险分析......
  • MBIST和BISR+循环移位和强制转换+verdi操作+vip需要disable auto recording+vim设置某
    MBIST和BISRhttps://blog.csdn.net/liubin1222/article/details/103995449https://zhuanlan.zhihu.com/p/161185302进行内存修复需要两步:首先在可修复内存测试期间,由MBIST控制器诊断出的故障。第二步是修复内存,确认修复签名。可修复的存储器都有带修复签名的寄存器。MBIST(Me......
  • cmake中使用proto
    转自:chatgpt1.介绍find_package(Protobuf)是CMake中用于查找和加载ProtocolBuffers的模块。它的作用是在CMake配置过程中查找安装在系统中的ProtocolBuffers库,并将相关信息存储在CMake变量中,以供后续的构建过程使用。使用find_package(Protobuf)通常包括以下几......
  • find的 -L 参数
    `find-L`命令在Linux中用于**跟随符号链接,以查找链接指向的文件或目录**。具体来说,`-L`选项告诉`find`命令,当遇到符号链接时,**应该进入链接指向的文件或目录进行查找**,而不是停留在链接本身。这个选项特别有用,当你需要搜索一个包含大量符号链接的文件系统时,因为默认情况下,`find`......