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文件,包含目录示例的主要内容,如果未能解决你的问题,请参考以下文章
Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )