将 opencv_world400.lib 和 opencv_world400d.lib 添加到依赖项中,仍然出现 LNK2001 错误

Posted

技术标签:

【中文标题】将 opencv_world400.lib 和 opencv_world400d.lib 添加到依赖项中,仍然出现 LNK2001 错误【英文标题】:Added opencv_world400.lib and opencv_world400d.lib to dependencies, still getting LNK2001 errors 【发布时间】:2018-11-27 03:31:06 【问题描述】:

我已将 opencv_world400.lib 和 opencv_world400d.lib 添加到依赖项中,但在 MSVS2017 中仍然出现此错误:

1>------ Build started: Project: OpenCLTest, Configuration: Release x64 ------
1>OpenCLTest.obj : error LNK2001: unresolved external symbol "int __cdecl cv::_interlockedExchangeAdd(int *,int)" (?_interlockedExchangeAdd@cv@@YAHPEAHH@Z)
1>c:\users\chubak\documents\visual studio 2017\Projects\OpenCLTest\x64\Release\OpenCLTest.exe : fatal error LNK1120: 1 unresolved externals
1>Done building project "OpenCLTest.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

文件夹中没有其他 lib 文件,只有这两个。是什么导致这个问题我不知道。

代码如下:

#include "stdafx.h"
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

int main()

    Mat image = imread("C:\\Users\\Chubak\\Pictures\\index.jpg");
    if (image.empty())
        return -1;
    imshow("TEST", image);
    waitKey();

    return 0;

【问题讨论】:

【参考方案1】:

三个步骤:

1. C++ -> General -> Additional Include Directories

2. Linker -> Input -> Additional Dependencies

3. Linker -> General -> Additional Include Directories

【讨论】:

以上是关于将 opencv_world400.lib 和 opencv_world400d.lib 添加到依赖项中,仍然出现 LNK2001 错误的主要内容,如果未能解决你的问题,请参考以下文章

Project2.exe中的C++ OpenCV“找不到或打开PDB文件”和“(opencv_world310.dll):访问冲突读取位置

因为计算机中丢失opencv_world310d.dll,导致opencv程序无法运行问题

使用 Visual Studio 2015/2013 时缺少 opencv_world300.lib

“程序无法启动,因为您的计算机中缺少 opencv_world300.dll”C++ 中的错误

Visual Studio 2017 'C:\OpenCV-3.3.0\opencv\build\x64\vc14\bin\opencv_world330d.dll'。找不到或打开 PDB 文件

之前配置过opencv 现在用vs2010 打代码每次都没法编译,求解决无法打开文件"opencv_world320.lib