首页 > 解决方案 > 学习openCV,获取LNK2019(未解析的外部符号)

问题描述

我目前正开始尝试学习 openCV 和 Visual Studio 2017 以用于工作项目。我目前正在学习 openCV 的一些教程,但是我收到了 8 个 LNK2019 错误。你们能帮我解决这个问题吗?

一般来说,我对编码很陌生,如果我问任何愚蠢的问题,请提前抱歉。

这是我当前的代码:

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
    String imageName( "HappyFish.jpg" ); //by default
    if (argc > 1)
    {
        imageName = argv[1];
    }
    Mat image;

    image = imread(samples::findFile(imageName), IMREAD_COLOR); //Read the file

    if (image.empty()) //checking for valid input
    {
        cout << "Could not open or find the image" << std::endl;
        return -1;
    }

    namedWindow("Display window", WINDOW_AUTOSIZE); //create a window for the display
    imshow("Display window", image); //showing our image inside the window
    waitKey(0); //Wait for a keystroke in the window
    return 0;
}

这些是我的错误:

严重性代码描述项目文件行抑制状态错误 LNK2019 无法解析的外部符号“void __cdecl cv::fastFree(void *)”(?fastFree@cv@@YAXPAX@Z) 在函数“public: __thiscall cv::Mat::~”中引用Mat(void)" (??1Mat@cv@@QAE@XZ) 打开 cv 测试 C:\Users\BRR\source\repos\Open cv test\Open cv test\Open cv test.obj 1

严重性代码描述项目文件行抑制状态错误 LNK2019 无法解析的外部符号“void __cdecl cv::error(int,class std::basic_string,class std::allocator > const &,char const *,char const *,int)”( ?error@cv@@YAXHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD1H@Z) 在函数“public: class cv::Mat & __thiscall cv::Mat::operator=(class cv::Mat &&)" (??4Mat@cv@@QAEAAV01@$$QAV01@@Z) 打开 cv 测试 C:\Users\BRR\source\repos\Open简历测试\打开简历测试\打开简历 test.obj 1

严重性代码 描述 项目文件行抑制状态错误 LNK2019 未解析的外部符号“public: void __thiscall cv::Mat::deallocate(void)” (?deallocate@Mat@cv@@QAEXXZ) 在函数“public: void __thiscall cv: :Mat::release(void)" (?release@Mat@cv@@QAEXXZ) 打开 cv 测试 C:\Users\BRR\source\repos\Open cv test\Open cv test\Open cv test.obj 1

严重性代码 描述 项目文件行抑制状态错误 LNK2019 无法解析的外部符号 "class std::basic_string,class std::allocator > __cdecl cv::samples::findFile(class std::basic_string,class std::allocator > const &, bool,bool)" (?findFile@samples@cv@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV34@_N1@Z)在函数 _main Open cv test C:\Users\BRR\source\repos\Open cv test\Open cv test\Open cv test.obj 1 中引用

严重性代码描述项目文件行抑制状态错误 LNK2019 无法解析的外部符号“class cv::Mat __cdecl cv::imread(class std::basic_string,class std::allocator > const &,int)”(?imread@cv@@ YA?AVMat@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) 在函数 _main 打开 cv 测试 C:\Users\ 中引用BRR\source\repos\Open cv test\Open cv test\Open cv test.obj 1

严重性代码描述项目文件行抑制状态错误 LNK2019 无法解析的外部符号“void __cdecl cv::namedWindow(class std::basic_string,class std::allocator > const &,int)”(?namedWindow@cv@@YAXABV?$basic_string @DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) 在函数 _main Open cv test C:\Users\BRR\source\repos\Open cv test\ 中引用打开 cv test\打开 cv test.obj 1

严重性代码描述项目文件行抑制状态错误LNK2019未解析的外部符号“int __cdecl cv::waitKey(int)”(?waitKey@cv@@YAHH@Z)在函数_main中引用打开cv测试C:\Users\BRR\source \repos\Open cv test\Open cv test\Open cv test.obj 1

严重性代码描述项目文件行抑制状态错误 LNK2019 无法解析的外部符号“void __cdecl cv::imshow(class std::basic_string,class std::allocator > const &,class cv::debug_build_guard::_InputArray const &)”(? imshow@cv@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@debug_build_guard@1@@Z) 在函数_main中引用 Open cv test C :\Users\BRR\source\repos\Open cv test\Open cv test\Open cv test.obj 1

提前致谢

标签: c++opencvvisual-studio-2017

解决方案


您似乎没有包含必要的依赖项:您应该遵循:https ://docs.opencv.org/2.4/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html

那里有非常详细的解释。搜索:“其他依赖项”,但您可能应该重新评估您为设置项目所做的其他步骤。


推荐阅读