如何把opencv的库加入项目中(解决项目在不同电脑上重新配置的问题)

2023-11-01 11:38

本文主要是介绍如何把opencv的库加入项目中(解决项目在不同电脑上重新配置的问题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:接手了一个视觉项目,其中opencv一类的包含目录和库目录都是绝对地址,由于opencv的版本可能不一致,导致链接器的附加依赖项需要把opencv部分全部清除,重新添加自己版本的opencv,非常麻烦浪费时间;
因此尝试把opencv内的库粘贴到项目目录下,把路径改为相对路径,重新改写附加依赖项;
这样做法的优点:
1.可以把项目运行在没有安装opencv的电脑上;
2.解决不同版本opencv需要修改附加依赖项(如2410,2411~~)
3.无需反复设置路径
4.可以避免不同版本之间可能出现的问题;

#1.包含目录设置
–1.1可以在项目目录下创建"Include"文件夹(里面存放一些库的头文件)
这里写图片描述
–1.2把opencv的include文件夹拷贝到项目目录的Include文件夹下
这里写图片描述

–1.3在VS中,项目属性----VC++目录----包含目录,输入相对路径
这里写图片描述

$(SolutionDir)\Include
$(SolutionDir)\Include\opencv2
$(SolutionDir)\Include\opencv

表示项目目录下的Include目录(相对地址),文件名可自定义;

#2.库目录设置

–2.1首先先确定项目是动态库调用还是静态库调用,本项目采用的是静态库调用;
这里写图片描述

–2.2在项目目录下创建一个"Libraries"文件夹,用于存放第三方库;

–2.3把opencv的库拷贝到项目目录的"Libraries"文件夹下,
opencv静态库路径范例是:D:\OpenCV\opencv\build\x86\vc10\staticlib
然后拷贝到项目目录的"Libraries"文件夹下,静态库很多,熟悉的人可以删除不需要的库,防止项目体积过大;
这里写图片描述

–2.4在VS中,项目属性----VC++目录----库目录,输入相对路径
这里写图片描述

$(SolutionDir)Libraries
$(SolutionDir)Libraries\cv_staticlib

表示项目目录下的Libraries目录(相对地址),文件名可自定义;

#3.修改附加依赖项

附加依赖项就是Libraries目录下库的名字,Debug版比Release版结尾多一个d,一般两个版本最好分别配置一下;
可以在网上找到相应版本进行删改,也可以在目录里面复制库的名字;
一般最好把opencv没用到的库去掉,比如opencv最常用的core,highgui,imgproc;
不熟悉的可以多做几次试验;
这里写图片描述

#4.列举一下常见问题
这里写图片描述
很显然,包含目录设置有问题,可能书写有错误 ,最好复制粘贴;

这里写图片描述
可能是附加依赖项缺失;

这里写图片描述
出现类似这样的问题,可能是库目录的路径设置有问题,先检查库目录路径;
也有可能是附加依赖性有实际并不存在的库名称(比如还残存的旧版,或者原本的库文件遭到破坏,被误删…);
应该检查附加依赖项,把不需要的附加依赖项删除,或者重新添加缺失的库文件;

这篇关于如何把opencv的库加入项目中(解决项目在不同电脑上重新配置的问题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322679

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里