I just installed openCV ver. 3.00 beta on my computer and I'm trying to test it with VS2013. I followed quick start guide:
1) Installation for windows, using pre-build libraries.
2) OpenCV inside Microsoft VS, using local method and x64/vc12
directory for libraries.
As a result, their example(listed in link #2) produced an error:
#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;
}
The output is:
1>------ Build started: Project: test_openCV, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d300d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
As far as I understand, my program can see openCV libraries, but for some reason cannot open them. Please help.
Thanks
Update: Tried to do what was recommended in first four comments, no result still. So I will post here full information:
Project: CUDA 6.5 (I need to work with CUDA).
Source file: Source.cpp
Mode: Debug, x64.
Enviromental variables:
OPENCV_DIR: C:\programs\misha\opencv\build\x64\vc12
Path (the last string): %OPENCV_DIR%\bin
Page Properties:
C\C++ -> General -> Additional Include Directories(last string):
$(OPENCV_DIR)\..\..\include
Linker -> General -> Additional Library Directories(last string):
$(OPENCV_DIR)\lib
Linker -> Input -> Additional Dependencies:
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_ts300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
Output:
1>------ Build started: Project: test_openCV, Configuration: Debug x64 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d300d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
So, I cannot build x64 project for some reason. Error is the same.
Update 2: If you can build this example (or any example with OpenCV), can you please send it on [email protected]? I will figure it out by myself
Unfortunately that solution did not work for me.
I made it work by adding as additional dependencies(Linker -> Input -> Additional Dependencies:) only those libraries located in my $(OPENCV_DIR)\lib folder. Namely: opencv_ts300d.lib;opencv_world300d.lib.
After a long time of different attempts, I found the answer here. For x64
project, in addition to what I did above, you have to:
1) Restart your PC after setting enviromental variables. Variable Path was not updated on my computer without restart.
2) In addition to libraries added above, you have to add (although, for this example some of them might not be used):
ippicvmt.lib
IlmImfd.lib
libtiffd.lib
libpngd.lib
libjasperd.lib
libjpegd.lib
libwebpd.lib
zlibd.lib
comctl32.lib
Edit: I recently had to install it again on a new PC. As user1060873 pointed out, you have to add only the libraries located in your $OPENCV$/lib folder. For example, on my PC it is C:\opencv\build\x64\vc12\lib
. Note, that for debug mode you should add opencv_world310d.lib
, and for release opencv_world310.lib
I'm also facing the same problem. I am using win7 x64 with VS2015 and OpenCV 3.2 After several hours of struggling I finally found out the answer. Each version is not the same, and there may be some differences. So this is what I did :
$OPENCV$/lib
folder$OPENCV$/lib
folder into the Additional Library (Project properties, Configuration Properties, Linker, Input
). In my case I put opencv_world300d.lib
(according to official tutorial which is not up to date!) into my Additional Library. But after I check the library folder, there is opencv_world320d.lib
, so instead of 300 I write 320.Solved this problem by unchecking the "inherit from parent or project defaults" checkbox under Linker->Input->Additional Dependencies
I added "opencv_world300d.lib" since Im using opencv 3.0.0 build x64 vc11
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With