OpenCV:CMake 产生 VS2019 项目和解决方案

news/2024/10/30 9:23:10/

        CMake 是一个跨平台的自动化编译程序,它用于管理代码的构建过程。使用 CMake 可以简化跨平台项目的构建和移植,提供简单而强大的语法来描述构建过程,并生成多种不同的构建系统,如 GNU Make、Ninja 和 Visual Studio。因为 CMake 具有跨平台支持、灵活性和强大的标准库支持,所以在开源社区中很受欢迎。

      要将 GitHub 上的 CMake 项目转换为 Visual Studio 项目,可以遵循以下步骤:

  1. 安装 CMake 和 Visual Studio

  2. 克隆 CMake 项目到本地计算机上

  3. 在命令行终端(Windows)或终端窗口(Mac、Linux)中切换到项目目录。

  4. 运行以下命令生成 Visual Studio 解决方案文件,放在 build_x64 目录下:

    cmake -G"Visual Studio 15 2017" -S . -B build_x64

    cmake -G"Visual Studio 16 2019" -S . -B build_x64

    注意:需要将 "16 2019" 替换为你的 Visual Studio 版本。

  5. 使用 Visual Studio 打开生成的 .sln 文件

        通过这些步骤,可以将 CMake 项目转换为 Visual Studio 项目。

        有时需要修改 CMakeLists.txt 中某些设置以使项目与 Windows 平台兼容。

以 OpenCV 为例,具体过程如下:

1. 下载 OpenCV

Releases - OpenCV

Download opencv-3.4.16-vc14_vc15.exe (OpenCV)

如果要调用 OpenCV 的库,需要把下面的路径添加到系统 path:

        C:\opencv\build\x64\vc15\bin

        C:\opencv\build\x64\vc15\lib

2. 下载安装 CMake

Download | CMake

Windows x64 Installer:cmake-3.26.4-windows-x86_64.msi
Windows x64 ZIPcmake-3.26.4-windows-x86_64.zip

把下面的路径添加到系统 path,就可以在命令行直接使用了:

        C:\Program Files\CMake\bin

3. 用 CMake 产生 VS2019 项目和解决方案

        可以采用命令行的形式,也可以直接运行 CMake-GUI,用图形化更直观。

        选择使用的 Visual Studio 版本:

        选择源代码的路径和编译文件的路径,并设置编译选项,点击“生成”按钮,然后点击“生成解决方案”即可开始构建。

        点击“打开项目”,即可在 Visual Studio 工作了。

        可以看到 OpenCV 有 317 个项目,选取其中的一个例子,作为启动项目,就可以调试、运行了。

                                                                                  老徐,2023/5/22


http://www.ppmy.cn/news/83142.html

相关文章

Spring MVC文件上传处理详解

Spring MVC文件上传处理详解 Spring MVC是Java Web开发中非常常用的框架之一,它提供了许多方便的功能。其中,文件上传是Web开发中常用的功能之一,本文将介绍如何使用Spring MVC处理文件上传以及相关代码实现。 文件上传的基本原理 在Web开发…

ISO21434 概述

目录 一、ISO21434 1.1 目的 1.2 ISO21434文档组织结构 二、适用范围 三、引用标准 四、术语和缩写 4.1 术语 4.2 缩写 五、一般考虑 一、ISO21434 1.1 目的 本文件阐述了道路车辆内电气和电子(E/E)系统工程中的网络安全问题。通过确保对网络安…

Logback日志详细教程

一、Logback日志 1、什么是日志 通过日志查看程序的运行过程,运行信息,异常信息等 2、日志级别 日志记录器(Logger)的行为是分等级的。如下表所示: 分为:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF…

java设计模式之享元设计模式的前世今生

享元设计模式是什么? 享元设计模式是一种结构型设计模式,它的目的是在大规模重复使用相似对象时提高内存利用率和性能。它通过共享对象的公共部分来减少所需要的内存,从而在系统中同时存在更多的对象。 享元设计模式通过将对象分为可共享的内…

C++STL算法篇之集合算法

CSTL算法篇之集合算法 集合算法set_union(并集)set_difference(差集)set_intersection(交集)set_symmetric_difference(对称差集) 集合算法 当然最好还是要包含 functional algorithm 这2个头文件 集合算法有4个函数 1.set_union 交集 2.set_difference 差集 3.set_intersectio…

容器云中弹性伸缩的实现策略

容器云是一种基于云计算技术的平台,可以快速构建、部署和管理应用程序。弹性伸缩是容器云中的一个重要特性,它允许容器云平台根据应用程序的需求自动调整计算资源的大小,以保证应用程序的性能和可靠性。 弹性伸缩的基本原理是根据应用程序的负…

记一次符合Google Coding Style的Bash脚本重构

最近我在思考这样一个问题,顺便看一下gpt对这个问题的解释。搜索发现: 团队写代码,为什么要遵循coding guideline? 一致性:编码准则确保整个团队的代码风格和格式是一致的,这使得团队成员之间更易于交流和…

Spring Boot 中如何使用 Spring Cloud Alibaba 实现微服务治理

Spring Boot 中如何使用 Spring Cloud Alibaba 实现微服务治理 在现代化的微服务架构中,服务的数量和复杂度越来越高,如何有效地管理这些服务变得越来越重要。Spring Cloud Alibaba 提供了一套完整的微服务治理解决方案,包括服务注册与发现、…