如何把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

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制