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

news2024/11/25 4:59:34

        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.coloradmin.cn/o/555184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8年测试总结,性能测试问题大全,这些问题你应该认清的...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 响应时间VS吞吐量…

18-02 数据库设计核心要点

概念结构设计 通过对用户需求进行综合、归纳和抽象,形成独立于具体数据库管理系统的概念模型把需求分析阶段得到的应用需求,抽象成概念模型连接现实世界和信息世界的桥梁好的概念结构设计 能真实、充分的反映现实世界要易于理解要易于修改 基本概念 …

kubeadm部署k8s 1.26.0版本高可用集群

1.前言 本次搭建使用centos7.9系统,并且使用haproxykeepalived作为高可用架构软件,haproxy实现k8s集群管理节点apiserver服务的负载均衡以实现集群的高可用功能,keepalived保障了hapxoy的高可用,容器引擎使用docker,需…

迁移iceberg:一.查看所需要的资源。

一:内存,CPU,核数,线程,硬盘。 1. cpu,核素,线程。 cpu cpu就相当于人类的大脑,是处理数据的地方。 cpu由以下三个组成。 控制器。由控制单元、指令译码器、指令寄存器组成。运算…

戴尔 dell Inspiron3670电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板B360 处理器i5-9400已驱动 内存8GB已驱动 硬盘KBG40ZNS256G NVMe KIOXIA 256GB ST1000DM010 1TB已驱动 显卡UHD630(1.05GHZ)已驱动 声卡Realte…

Node模拟慢接口

为了快速搭建一个后台服务,并模拟慢接口,我们选择 Koa 这个轻量的 Node 框架。 快速开始 Koa 使用起来非常方便,只需要: 新建项目文件夹:mkdir koa-server创建 package.json:npm init -y安装 Koa&#x…

夏季门店做好这3点,销量翻一番!

现在正值5月末,天气开始炎热起来。在酷热的夏日,很多人都只想呆在家里吹空调刷手机,外出消费的人数开始变少。 面对越来越炎热的天气,我们这些做实体店生意的该如何应对呢?想要在夏季客流不减反增,销量翻倍…

【高分论文密码】大尺度空间模拟预测和数字制图技术和不确定性分析

目录 专题一 R语言空间数据介绍及数据挖掘关键技术 专题二 R语言空间数据高级处理技术 专题三 R语言多维时空数据处理技术、数据清洗整合和时间序列分析 专题四 R语言地统计与空间自相关、空间插值方法 专题五 R语言机器学习与空间模型预测及不确定性评估 专题六 R语言空…

【DRF配置管理】如何使用序列化:验证码、注册和登录

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 DRF应用和管理 【DRF配置管理】Django安装DRF框架并生成openapi风格文档 【DRF配置管理】如何实现JWT身份验证 【DRF配置管理】如何使用序列化:验证码…

如何设计正确的SpringBoot接口访问频率?

最近在基于SpringBoot做一个面向普通用户的系统,为了保证系统的稳定性,防止被恶意攻击,我想控制用户访问每个接口的频率。为了实现这个功能,可以设计一个annotation,然后借助AOP在调用方法之前检查当前ip的访问频率&am…

SpringBoot——对于属性中的时间和文件的单位进行设置

简单介绍: 在之前我们编写配置文件的时候,有时候多种技术的配置的属性值的默认属性的单位不同,比如在Tomcat中,对于最大连接时间就是以毫秒为单位,但是对于session的过期时间就是以分钟为单位,像这种单位不…

java线程池ThreadPoolExecutor使用

文章目录 一、简介1. 背景2. Executor接口介绍 二、使用Executors工厂创建线程池1. 简介2. 使用newCachedThreadPool()方法创建无界线程池3. 验证newCachedThreadPool()方法创建的线程池和线程复用特性4. 使用newCachedThreadPool(ThreadFactory)定制线程工厂5. 使用newCachedT…

怎么把音乐的伴奏提取出来?分享几个音乐伴奏提取的方法!

在这个数字时代,人人都有机会成为视频创作者。如果你也想发布自己剪辑的短视频,就需要了解视频编辑的相关操作。其中一个重要的操作是提取人声,将音频中人物的声音从杂音中分离出来,使声音更加清晰。那么,如何从音频中…

GPT时代,最令人担心的其实是“塔斯马尼亚效应”

目录 教育到底教什么? 过度依赖GPT可能导致文明退化 GPT可以帮助人类破解“学海无涯极限”悖论 春季学期伊始,全球各地的老师们如临大敌,因为学生们带着ChatGPT杀过来了。Study.com的调研显示,每10个学生中就有超过9个知道Chat…

基于FPGA的超声波测距——数码管显示

文章目录 前言一、超声波模块介绍1、产品特点2、超声波模块的时序图 二、系统设计1、系统框图2、源码3、RTL视图4、效果 三、总结四、参考资料 前言 环境: 1、Quartus18.1 2、vscode 3、板子型号:EP4CE6F17C8N 4、超声波模块:HC_SR04 要求&am…

【持续集成CI/持续部署CD】二、Docker安装Maven私服Nexus

本文是关于通过 Docker 进行安装部署 Nexus3 私服的快速入门和简单使用案例。 一、安装 1. 通过 docker 获取最新版本的 nexus3 镜像 docker pull sonatype/nexus3创建 docker 镜像到宿主机的磁盘映射目录Linux:mkdir -p /home/nexus/datachmod 777 -R /home/nexus/dataWind…

ThingsBoard的Actor系统如何初始化

1、概述 大家都知道ThingsBoard中使用了Actor,使用这个可以避免多线程并发问题,上一篇我查询资料总结了一下关于Actor的内容,actor不是通过new 一个对象来创建,而是通过一个ActorSystem来创建,下面我将带领大家来学习ThingsBoard启动时Actor如何创建。 2、ThingsBoard的…

【建议收藏】|某大型金融集团内部数据治理实战总结

对于你喜欢的事想去做的事,你必须付出百分之一千的努力你知道这一路可能会有很多困难,会有坚持不下去想要放弃的时候也有时候,你不一定会得到你想要的结果,但你—定要相信。 公众号:857Hub 转发领取PDF全集一份~~~ 数据治理 数字转型&…

传输层协议

目录 传输层 端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) netstat pidof UDP协议UDP协议端格式​编辑 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议段格式 确认应答(ACK)机制 超时重传机制 连…

LDR6020 Type-C PD显示器方案简介

笔记本的视频输出接口一般有VGA、HDMI、DP、Type-C四种。 自从战66一代之后,VGA就基本上已经销声匿迹了,所以目前还是以HDMI和DP接口更为常见。 如果你的笔记本只支持HDMI1.4,那么你外接显示器的上限就只能是2K60或者是1080P144,…