VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件

此篇文章是我解决了一个很长时间都没解决的问题,由于一直没搜到没找到合适的答案,所以解决后分享出来供大家参考,如有错误请大神指出,如有用请点赞支持!

在运行VisualStudio2022时出现错误提示,运行空窗口时报错“无法找到opencv_world3416d.lib"这样的错误,而我的VS此次使用是和Opencv没有任何关系的,那为什么会涉及到以OpenCV开头的文件呢?后来我想一想原因是这样,由于平时做各种各样的实验,用到了很多软件,如Vivado,Opencv,Qt以及各种各样的软件还有许多附属插件,每次做完任务后又删除,有时候是很难分清删除的东西对不对,很容易导致系统出问题;再者就是华为系统的一些Bug。。。在我用VisualStudio2017打开别人的项目的时候就会出现这样的问题,而此次用VisualStudio2022配置Qt做项目运行空窗口依然出现这样的问题,于是我翻找网页,搜索到的大都为VS配置Opencv时出现lib文件报错的情况,也有很多解决方案,比如修改库文件,链接器目录,什么选择从父项继承,什么下载lib文件再去放入哪个文件夹,或者卸载干净VS再重装,或者在开始菜单运行regsvr32等,试过之后都没用,实际上是问题和答案不对口,当然解决不了。而我的问题是个环境资源错配的问题。以下是我碰到的情况以及解决方案:

无论打开别人的项目还是打开什么新工程(有些时候打开没问题因为人家的资源配置是没有问题的)都会报这样的错误,且在各个版本之间都这样。我的解决方法如下: 

点击”项目->属性“在VC++目录里面我们点击如下的包含目录的编辑按钮 :

VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件_第1张图片

 VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件_第2张图片

我们可以看到这里有三个D:\vivado盘的文件夹(PS 这是我当时下载Opencv软件,文件夹命名是乱命名的,所以在vivado文件夹下出现了opencv,,,,),里面存放的是Opencv的扩展插件以及一些库文件,但是这个文件夹在我使用过后就删除了,这里为什么会出现呢?所以就是VS在最开始运行的时候以此几个文件夹开始搜索工具,也就是错配资源环境,导致报错。图片是我更改之后的情况,本来计算的值里面有D\Vivado.....这个错误路径的,还有一些正确路径如C\Program Files(x86)...以及VS安装目录下的一些路径,正确的资源都是来源于里面的。所以关键来了,我们把”计算的值“里面的几个正确路径,一一复制并且粘贴在顶部的空白处,注意复制完全,要是漏了字母那路径也是错误的。随着复制计算的值会逐渐把错误文件夹下放。所有正确文件路径拷贝完成之后,取消勾选”从父级或项目默认设计继承“,否则会根据默认的配置走,这里所谓的默认配置即原先错误的情况。

同样再去看看库目录的编辑:

VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件_第3张图片

对包含目录和库目录进行同样的操作之后,再转至如"输入->连接器->附加依赖项"点开编辑:

VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件_第4张图片

VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件_第5张图片

进行类似的操作:将继承的值除过.lib这个错误文件之外复制到空白处,计算的值会自动出现在列表中,可以看出都是正确的文件路径。同样的勾选取消“从父级或项目默认设置继承,全部编辑完成后,应用再确定,再次编译,问题消失,可以成功显示窗口。

VisualStudio(2017,2018,2019,2022)运行报错:LINK1104无法找到Opencv_worldxxx.lib文件_第6张图片

希望能够帮到大家。 

你可能感兴趣的:(大数据,visual,studio,opencv)