OpenCV 3.2.0、Visual Studio 2015、Windows 7
Posted
技术标签:
【中文标题】OpenCV 3.2.0、Visual Studio 2015、Windows 7【英文标题】:OpenCV 3.2.0, Visual Studio 2015, Windows 7 【发布时间】:2017-01-27 17:07:12 【问题描述】:我在instructions here 之后在 Windows 7 上安装了预构建库 OpenCV 3.2.0,但在 Visual Studio 2015 中尝试使用它们时遇到错误。
变量OPENCV_DIR
设置正确:
C:\>echo %OPENCV_DIR%
C:\OpenCV\Build\x64\vc14
C:\>dir %OPENCV_DIR%
Le volume dans le lecteur C s'appelle OS
Le numéro de série du volume est 1234-ABCD
Répertoire de C:\OpenCV\Build\x64\vc14
27/01/2017 17:10 <REP> .
27/01/2017 17:10 <REP> ..
27/01/2017 17:11 <REP> bin
27/01/2017 17:10 <REP> lib
0 fichier(s) 0 octets
4 Rép(s) 19 236 450 304 octets libres
C:\>
项目的规则就是这样
将库指定为
opencv_calib3d320d.lib
opencv_core320d.lib
opencv_features2d320d.lib
opencv_flann320d.lib
opencv_highgui320d.lib
opencv_imgcodecs320d.lib
opencv_imgproc320d.lib
opencv_ml320d.lib
opencv_objdetect320d.lib
opencv_photo320d.lib
opencv_shape320d.lib
opencv_stitching320d.lib
opencv_superres320d.lib
opencv_ts320d.lib
opencv_video320d.lib
opencv_videoio320d.lib
opencv_videostab320d.lib
但是当我尝试编译那里写的基本测试项目时
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
if( argc != 2)
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
Mat image;
image = imread(argv[1], IMREAD_COLOR); // Read the file
if( image.empty() ) // Check for invalid input
cout << "Could not open or find the image" << std::endl ;
return -1;
namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
我得到了错误
1>------ Build started: Project: ImageCorrection, Configuration: Debug x64 ------
1> test.cpp
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d320d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我对 Windows 和 Visual Studio 上的编译和链接非常陌生(我习惯于在 Linux 上使用g++
),所以我真的不知道我在这里做错了什么。
我认为这可能与动态链接有关,但我既不知道如何调查也不知道如何解决。
非常感谢 Ant 的帮助! :D
【问题讨论】:
预建只有opencv_world320(d).lib
。这是您唯一需要链接的一个
确实......我想知道为什么教程中没有写在任何地方......如果你把它写成一个解决方案,我很乐意接受它!
很高兴它有帮助 ;)
遇到此类问题,可能值得在目录中查看您尝试链接的文件是否确实存在。
【参考方案1】:
OpenCV 3.2 预编译二进制文件只有 world 库:
opencv_world320.lib
发布
opencv_world320d.lib
用于调试
这就是您需要链接的全部内容。
【讨论】:
以上是关于OpenCV 3.2.0、Visual Studio 2015、Windows 7的主要内容,如果未能解决你的问题,请参考以下文章
缺少使用 viola opencv core2410d.dll 的 Opencv 人脸检测