【问题标题】:unresolved symbol for opencv erroropencv错误的未解析符号
【发布时间】:2016-01-28 12:56:08
【问题描述】:

过去两天我一直在尝试让 opencv 工作。我正在使用 Visual Studio 2015 社区和 opencv 3.1.0。我已经添加了所有的 lib 文件和 dll 并为项目配置了属性。任何见解都会很棒,因为我真的不知道如何解决这个问题。

#include <opencv2\opencv.hpp>

using namespace cv;

int main()
{
    namedWindow("win");
    waitKey(0);
    return 1;
}    

上面的代码抛出以下错误。

LNK2019 unresolved external symbol "void __cdecl cv::namedWindow(class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; const &amp;,int)" (?namedWindow@cv@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function main OpenCV

【问题讨论】:

  • 需要链接opencv_highgui310(d).lib,或者opencv_world310(d).lib

标签: c++ opencv c++11 dll visual-studio-2015


【解决方案1】:

namedWindow 属于 highgui 库。尝试添加

#include<opencv2\highgui.hpp>

并链接相应的库。

另外,namedWindow 有两个参数:"windowName"CV_WINDOW_TYPE,其中后者可以是:

CV_WINDOW_AUTOSIZE
CV_WINDOW_NORMAL

还有一些其他的选择

【讨论】:

  • 我已经链接了库,我仍然得到同样的错误。我还向函数添加了第二个参数,但它无济于事。还有其他建议吗?
  • unresolve external symbol 很可能是因为您没有链接 。在您的代码中,您确实链接了头文件,但仍然缺少该库。
【解决方案2】:

尝试将 bin 文件夹路径添加为环境变量。例如,将“D:\opencv\build\x64\vc15\bin”添加到 PATH。然后关闭并重新打开 Visual Studio。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 2012-02-28
    • 2015-10-11
    • 2019-05-27
    相关资源
    最近更新 更多