CMake入门教程【核心篇】导入外部库Opencv

在这里插入图片描述

😈「CSDN主页」传送门
😈「Bilibil首页」传送门
😈「动动你的小手」点赞👍收藏⭐️评论📝


环境准备

首先确保你的系统中安装了CMake。可以通过以下命令安装:

  • Windows: 下载并安装CMake的官方安装程序。
  • Linux: 使用包管理器安装,例如在Ubuntu中可以使用命令 sudo apt-get install cmake

示例:在Windows上配置OpenCV路径

假设你已经将OpenCV安装在了C:\opencv目录下。下面是一个完整的CMakeLists.txt文件示例,用于配置并编译一个简单的OpenCV项目。

# 设定CMake的最低版本要求
cmake_minimum_required(VERSION 3.0)

# 设置项目名称
project(OpenCVExample)

# 显式指定OpenCV的安装路径
set(OpenCV_DIR "C:/opencv/build")

# 查找OpenCV库
find_package(OpenCV REQUIRED)

# 如果找到了OpenCV,将其包含目录添加到项目中
if(OpenCV_FOUND)
    include_directories(${OpenCV_INCLUDE_DIRS})
else()
    message(FATAL_ERROR "OpenCV not found, please set OpenCV_DIR.")
endif()

# 定义需要编译的源文件
add_executable(OpenCVExample main.cpp)

# 将OpenCV库链接到我们的项目
target_link_libraries(OpenCVExample ${OpenCV_LIBS})

在这个例子中,main.cpp应包含你的OpenCV应用程序代码。

示例:在Linux上配置OpenCV路径

在Linux系统上,如果你是通过源代码编译安装OpenCV的,你可能需要手动设置OpenCV的路径。下面是一个CMakeLists.txt文件的示例,它假设OpenCV安装在/usr/local目录下。

# 设定CMake的最低版本要求
cmake_minimum_required(VERSION 3.0)

# 设置项目名称
project(OpenCVExample)

# 显式指定OpenCV的安装路径
set(OpenCV_DIR "/usr/local/share/OpenCV")

# 查找OpenCV库
find_package(OpenCV REQUIRED)

# 如果找到了OpenCV,将其包含目录添加到项目中
if(OpenCV_FOUND)
    include_directories(${OpenCV_INCLUDE_DIRS})
else()
    message(FATAL_ERROR "OpenCV not found, please set OpenCV_DIR.")
endif()

# 定义需要编译的源文件
add_executable(OpenCVExample main.cpp)

# 将OpenCV库链接到我们的项目
target_link_libraries(OpenCVExample ${OpenCV_LIBS})

相关推荐

  1. c++导入外部的依赖开源

    2024-01-13 10:38:03       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 10:38:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 10:38:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 10:38:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 10:38:03       18 阅读

热门阅读

  1. linux下,PC机串口通信开发

    2024-01-13 10:38:03       37 阅读
  2. [MariaDB] 数据库统计插件启用和配置

    2024-01-13 10:38:03       35 阅读
  3. 多节点 docker 部署 elastic 集群

    2024-01-13 10:38:03       30 阅读
  4. Ubuntu搭建OpenCV环境(C++)

    2024-01-13 10:38:03       37 阅读
  5. LocalDateTime与时间戳转换的全局配置

    2024-01-13 10:38:03       37 阅读
  6. golang学习-结构体

    2024-01-13 10:38:03       28 阅读
  7. No Feign Client for loadBalancing defined. 错误解决

    2024-01-13 10:38:03       37 阅读
  8. MYSQL学习——聚合函数

    2024-01-13 10:38:03       28 阅读
  9. 30天精通Nodejs--第十五天:Websocket

    2024-01-13 10:38:03       34 阅读