CMakeLists OpenCV
1、只有1个版本的OpenCV时,使用自动搜索方式
以项目TestOnnx为例,一般如下即可:
find_package(OpenCV REQUIRED) #会自动搜寻OpenCVConfig.cmake文件,一般位于/usr/local/lib/cmake/opencv4
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(TestOnnx main.cpp)
target_link_libraries(TestOnnx ${OpenCV_LIBS}) #位于add_executable之后
find_package(OpenCV REQUIRED)会自动搜寻OpenCVConfig.cmake文件(一般位于/usr/local/lib/cmake/opencv4)会得到OpenCV_INCLUDE_DIRS、OpenCV_LIBS属性。
链接库建议用target_link_libraries而不是link_libraries,前者可以不用指定具体的库文件,到目录就可以。
2、多版本OpenCV共存时,使用指定搜索路径的方式
cmake_minimum_required(VERSION 3.0) project(MyApp) # 指定OpenCV的路径 set(OpenCV_DIR "/path/to/opencv/build") # 例如:/home/user/opencv/build # 查找OpenCV库,仅在指定的路径里查找 find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR} NO_DEFAULT_PATH) # 添加可执行文件 add_executable(MyApp main.cpp) # 链接OpenCV库 target_link_libraries(MyApp ${OpenCV_LIBS})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?