VS2019+cmake 方式添加ffmpeg库文件,cmake添加lib文件dll文件,包含目录示例

Posted zanglengyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2019+cmake 方式添加ffmpeg库文件,cmake添加lib文件dll文件,包含目录示例相关的知识,希望对你有一定的参考价值。

cmake_minimum_required(VERSION 3.10)
project($PROJECT_NAME CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED on)
project(wfdb_demo)
#设置ffmpeg路径,也可以是其他任意开发库的路径
set(ffmpeg501 "D:/work/ffmpeg-5.0.1-full_build-shared/ffmpeg-5.0.1-full_build-shared")
#设置ffmpeg包含目录和lib路径
 include_directories($ffmpeg501/include/)
 link_directories($ffmpeg501/lib/)

 #编译测试程序,只有一个main.cpp
 add_executable(main main.cpp) 

 #下面这段用法较为高级,是将指定目录下的所有dll文件复制到运行目录,
 #并更加release/debug,创建目录,需要指定的目录可以自行更改
 #PROJECT_BINARY_DIR 代表编译出来的exe所在的目录
 #本示例是将ffmpeg的文件复制到三个目录,
 #支持cmake和vs2019直接编译生成exe,vs2019打开生成后,会自动区分release 和debug目录。
 #也就是PROJECT_BINARY_DIR的值已经被分开了。
 
 #最后
 set(dll_src $ffmpeg501/bin/*.dll)

 FILE(GLOB Plugin_Runtime_Debug_DLL_FILES CONFIGURE_DEPENDS $dll_src) 
FILE(GLOB Plugin_Runtime_Release_DLL_FILES CONFIGURE_DEPENDS $dll_src) 
FILE(GLOB Plugin_Runtime_Debug_Resources_FILES CONFIGURE_DEPENDS $dll_src) 
FILE(GLOB Plugin_Runtime_Release_Resources_FILES CONFIGURE_DEPENDS $dll_src) 
add_custom_target(CopyRuntimeFiles  ALL 
  VERBATIM 
  COMMAND_EXPAND_LISTS 
  COMMAND $CMAKE_COMMAND -E 
  make_directory "$PROJECT_BINARY_DIR/$<$<CONFIG:Release>:Release>$<$<CONFIG:Debug>:.//>/" 
  COMMAND $CMAKE_COMMAND -E 
  copy_if_different  
  "$<$<CONFIG:Release>:$Plugin_Runtime_Release_DLL_FILES>"  
  "$<$<CONFIG:Debug>:$Plugin_Runtime_Debug_DLL_FILES>" 
  "$PROJECT_BINARY_DIR/"   
  COMMAND $CMAKE_COMMAND -E 
  make_directory "$PROJECT_BINARY_DIR/" 
  COMMAND $CMAKE_COMMAND -E 
  copy_if_different  
  "$<$<CONFIG:Release>:$Plugin_Runtime_Release_Resources_FILES>"  
  "$<$<CONFIG:Debug>:$Plugin_Runtime_Debug_Resources_FILES>" 
  "$PROJECT_BINARY_DIR/")
 

总结,其实包含include和lib的方式和VS2019 sln方式编译的差不多,只是写入的地方不同。

困扰许久的是如何配置dll的路径,许多文章都没写,最粗暴的方式就是手动复制到exe的所在的目录。

想了想这种不太方便,所以用了cmake的复制文件的方法,动态复制到运行目录

参考链接:

CMake 复制文件方法_taosimin87的博客-CSDN博客_cmake 拷贝文件

vscode中,todo添加处理

参考技术A

本文章参考 知乎,配置vscode

介绍

首先来,介绍下它的基本功能把.

首先,是一个高亮的功能,初始的话,只支持TODO,和FIXME两个标记

其次是资源管理器侧边栏上的一个小栏目,通过点击对象,可以跳转到对应的位置.

但是,这款插件可以配置的地方非常关键,它可以配置需要高亮的标签名,可以配置标签的高亮方式,图标,还可以配置滚动条上显示的色块.标签排列方式等等.

先看下我配置出的效果.

** QA **

以上是关于VS2019+cmake 方式添加ffmpeg库文件,cmake添加lib文件dll文件,包含目录示例的主要内容,如果未能解决你的问题,请参考以下文章

vs2019添加库文件

vs2019添加库文件

Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )

vscode中,todo添加处理

使用 WSL 和 VS2019 进行 Cmake

cmake 属性 VS_USER_PROPS 静默忽略