【发布时间】: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。这是您唯一需要链接的一个 -
确实......我想知道为什么教程中没有写在任何地方......如果你把它写成一个解决方案,我很乐意接受它!
-
很高兴它有帮助 ;)
-
遇到此类问题,可能值得在目录中查看您尝试链接的文件是否确实存在。
标签: c++ visual-studio opencv visual-studio-2015