QT 5.9 and Opencv Error

QT 5.9 and Opencv Error

本文关键字:Opencv Error and QT      更新时间:2023-10-16

我有一个QT/Opencv项目,它与Visual Studio 2015和QT 5.6配合得很好。自从我买了一台新电脑后,我安装了Visual Studio 2017和新款Qt 5.9。如果我尝试导入项目并编译它,我会在Opencv调用中得到一个LNK2019LNK2001错误的巨大列表。我已经检查了QT是否找到了正确的编译和平台(x64),还检查了Opencv是否正确找到。

我还应该做哪些检查?

我使用的是Windows 10、Qt Creator 4.4.1和Visual Studio 2017社区。

正如@DimChtz和@drescherjm在评论中所说,问题出在.lib链接上。在QT的早期版本中,我以这种方式链接库:LIBS += -L"path/opencv_world331.lib"。为了使其工作,我刚刚删除了-L参数。

确保OpenCV库(所有外部库)与Qt链接的EASIEST和最简单的方法是使用"添加库…"选项。

以下列出的步骤可在Qt5文档中找到:[http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html][1] 在"添加库"部分。

  1. 右键单击位于创建者左侧"项目窗格"中的项目文件。。。并选择"添加库…">
  2. 按照向导的说明进行操作

让我从这里添加一些特异性。。。

  1. 选择"外部库">
  2. 对于"库文件",导航到opencv_worldXXX.lib文件(或opencv.worldXXXd.lib文件,您会注意到,通过仅指定一个或另一个,向导会有一个自动包含另一个的复选框)[ex.…\opencv\build\x64\vc12\lib\opncv_world.lib]
  3. 对于"包含文件夹",导航到生成中的"包含"文件夹[例如…\opencv\build\include]
  4. 选择您的操作系统、动态/静态库(以合适的为准)
  5. 点击下一步,清理,然后跑步