Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 带有链接到OpenCV的Qt加载项的Visual Studio_C++_Qt_Opencv_Visual Studio 2012 - Fatal编程技术网

C++ 带有链接到OpenCV的Qt加载项的Visual Studio

C++ 带有链接到OpenCV的Qt加载项的Visual Studio,c++,qt,opencv,visual-studio-2012,C++,Qt,Opencv,Visual Studio 2012,我尝试将OpenCV库集成到VisualStudio2012中基于Qt的项目中。我知道这个问题还有很多其他的线程,但是没有一个解决了我的链接问题。 以下是我的设置: Windiws 8.1 64位 Visual Studio 2012 32位 OpenCV 3.0 Qt 5.1 32位和Qt附加模块1.2.3 我下载了OpenCV 3.0 Windows软件包,并使用CMake和Visual Studio编译器来构建它;我遵循了这一点。生成文件夹如下所示:。.lib和.dll文件已正确生成:

我尝试将OpenCV库集成到VisualStudio2012中基于Qt的项目中。我知道这个问题还有很多其他的线程,但是没有一个解决了我的链接问题。 以下是我的设置:

  • Windiws 8.1 64位
  • Visual Studio 2012 32位
  • OpenCV 3.0
  • Qt 5.1 32位和Qt附加模块1.2.3
我下载了OpenCV 3.0 Windows软件包,并使用CMake和Visual Studio编译器来构建它;我遵循了这一点。生成文件夹如下所示:。.lib和.dll文件已正确生成: 然后,我按照官方OpenCV上的说明进行了以下配置:

  • VC++目录—“可执行目录”:我添加了bin文件夹的路径,如第三张图所示
  • VC++目录--“库目录”:我添加了第二张图片中显示的lib文件夹的路径
  • C/C++\8227;常规-“其他包含目录”:在这里,我添加了提取的OpenCV包的原始包含文件夹的路径,因为build Include文件夹为空
  • 链接器-“常规”-“附加库目录”:我在这里添加了lib文件的路径
  • 链接器--Input--“其他依赖项”:这里我列出了所有类似的库:
    opencv_core300d.lib
    opencv_highgui300d.lib
    opencv_imgproc300d.lib
    opencv\u video300d.lib
    opencv_calib300d.lib
    opencv_contrib300d.lib
    opencv_特性2d300dd.lib
    opencv_flann300d.lib
    opencv_gpu249d.lib
    opencv_legacy300d.lib
    opencv_ml300d.lib
    opencv_nonfree300d.lib
    opencv_objdetect300dd.lib
    opencv_ocl300d.lib
    opencv_photo249d.lib
    opencv_缝合300d.lib
    opencv_superres300d.lib
    opencv_ts300d.lib
    opencv_videostab300d.lib
我还想指出,我不能将代码生成更改为/MTd,因为Qt不能使用它(但这不应该是问题,因为我在CMake配置中构建OpenCV时使用了_Qt激活选项)

此外,我将所有.dll文件与生成的debug.exe放在同一目录中(Visual Studio抱怨找不到.dll)

当我尝试执行OpenCV库的函数或仅创建一个对象时,总会出现如下未解决的链接错误:

Fehler 2错误LNK2019:Verweis auf nicht aufgelöstes外部符号“class cv::Mat_ucdecl cv::imread(class cv::String const&,int)”(?imread@cv@@是吗?AVMat@1@ABVString@1@H@Z)“在功能区”

还是这个

Fehler 2错误LNK2019:Verweis auf nicht aufgelöstes外部符号“public:u thiscall cv::VideoCapture::VideoCapture(void)”(?)??0VideoCapture@cv@@QAE@XZ)“在函数中”“void\uu cdecl loadMovie(类QString)”(?loadMovie@@YAXVQString@@@Z)”


我非常感谢您的帮助,因为我已经挣扎了整整一周,现在正在尝试在internet上找到的所有东西。

问题是,提供的链接
如何在Microsoft Visual Studio中使用OpenCV构建应用程序
是针对OpenCV 2.4.11的,在该版本中,库的管理略有不同

从OpenCV 3.0开始,OpenCV_highgui库被拆分为不同的子库,涉及视频捕获、图像读取和其他内容。正如您在屏幕截图中所看到的,还有一些您尚未添加到项目中的库,例如
opencv\u imgcodecs300d.lib
opencv\u videoio300d.lib


尝试添加所有这些库。如果这样做有效,并且希望减少依赖关系,则可以删除库,直到链接器出现故障。

是否也可以添加其他库?e、 g.opencv\u videoio300d.lib。。。自opencv3以来,有一些功能从highgui分离到不同的LIB。不确定
imread
现在放在哪里。可能
opencv\u imgcodecs300d.lib
谢谢您的快速回复;我将opencv_imgproc300d.lib和opencv_imgcodecs300d.lib添加到链接器输入中,链接似乎已被解析。我尝试包括opencv文档中未列出的其他库,并尝试使视频捕获正常工作。这将很好地发挥作用;我再一次试探你的快速回答。顺便说一句,这个问题写得很好,可以在不询问其他信息的情况下快速回答=)