LINK : fatal error LNK1181: 无法打开输入文件“opencv_world341.lib”解决方法

时间:2024-04-03 16:48:53

如果姐妹们你和我一样。我来告诉你们为什么。
我们找到一份vs2017配置opencv的教程
不想看教程的直接看粗体 我告诉你为什么报错

第一步、安装visual stdio2017

推荐直接https://jingyan.baidu.com/article/a948d6512f00d70a2dcd2edc.html

打开浏览器进入微软官方网站(https://www.microsoft.com),然后点击顶部导航栏中的”产品->适用于开发人员和IT专业人士->Visual Studio”,打开Visual Studio 2017下载页面;

我选择的是社区版本,community版本,免费的,注册一下登录就行,可以满足日常需求。

注意,下载下来的这个文件不要删除,以后添加功能,卸载都是能用到的。

注意勾选 使用c++桌面开发,因为我有时候还要使用MFC,所有在右面也勾选了MFC。

第二步、下载opencv3.4.1

打开浏览器https://opencv.org/releases.html

我选择的是3.4.1的window版本,下载安装选择目录,其实安装就是解压,注意不需要再创个opencv文件夹了,加压后就是opencv文件夹。

Opencv只是一个计算机视觉库,在VS中使用时,需要对文件进行配置,调用其中的文件
bin文件:
opencv_ffmpeg341.dll,放的是ffmpeg,视频编解码软件
include文件:
包含.h 等头文件
x64文件=bin文件(opencv_world341d.dll)+lib文件(opencv_world341.lib)
vc14对应VS2015,vc15对应VS2017

第三步、配置opencv

(1)配置Path系统环境变量
此电脑–>右键“属性”–>高级系统设置–>环境变量–>系统变量中的path,在变量值里面添加相应的路径; D:\opencv\build\x64\vc15\bin (配置动态链接库,注意自己的路径)

,如果没有完成这一步,在工程运行时会提示找不到“opencv_world341d.dll”文件的错误的

(2)VS2017中配置OpenCV

打开vs2017,新建立一个空的项目,在菜单栏中点击【视图】[属性管理器],这时候右边会出现一个属性管理器工作区来。

工程中右击–>属性

包含目录 + 库目录 + 链接器(debug里面加了,releas也可以加)

  1. 包含目录 配置:
    VC++目录—>包含目录:
    D:\opencv\build\include ;
    D:\opencv\build\include\opencv;
    D:\opencv\build\include\opencv2
  2. 库目录 配置:
    VC++目录—>库目录:
    D:\opencv\build\x64\vc15\lib
    注意:(1)此处的x64表示电脑是64位,32位选择x86
    (2)vc10表示VS是2010,vc11对应VS2012,vc12对应VS2013,vc14对应VS2015 ,vc15对应VS2017
  3. 链接器 配置:
    链接器–>输入–>附加依赖项
    opencv_world341.lib 注意release里面
    opencv_world341d.lib
    注意,这是在debug里,不能混用,不然会闪退的
    备注:
    这里不用被指动态链接库(.dll)

我们看到这个黑色的加粗的地方,我告诉你为什么会报错
LINK : fatal error LNK1181: 无法打开输入文件“opencv_world341.lib”解决方法
我们来看一下他叫什么! 他叫 opencv_world345
这里我们要根据不同版本的opencv打开lib来看 lib的名称 再来添加

3、第一个简单的程序

// opencvtest.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"


#include "stdafx.h"  //在VS2017中一些头文件都放在"stdafx.h"文件中
#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  

using namespace cv;

int main()
{
	// 读入一张图片(游戏原画)    
	Mat img = imread("55336919_21.jpg");
	// 创建一个名为 "游戏原画"窗口    
	namedWindow("yxck");
	// 在窗口中显示游戏原画    
	imshow("yxck", img);
	// 等待6000 ms后窗口自动关闭    
	waitKey(6000);
	return 0;
}

教程来源:
作者:hjxu2016
来源:CSDN
原文:https://blog.csdn.net/hjxu2016/article/details/80849277

然后还会有个报错
OpenCV执行时出现找不到opencv_world320d.dll的问题,解决办法:

把自己opencv文件目录下的D:\opencv3.2.0\opencv\build\x64\vc14\bin(本人的路径)中的三个dll文件,拷贝到C:\window\System32和 C:\window\SysWOW64 中。在这里我是两个系统文件夹内都拷贝了过去。

如果是vs17拷贝 vc15
里面的