Ask Your Question
0

OpenCV doesn't work with VS2013

asked 2015-01-20 15:07:55 -0600

titan1432 gravatar image

updated 2015-01-22 13:27:24 -0600

{I solved it! will post an answer in an hour, since I am not allowed to post it earlier, than 2 days}

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.

I tried to build example from link #2:

#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;
}

My output is:

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 ==========

Additional information:

1) Project: CUDA 6.5 (I need to work with CUDA).

2) Source file: Source.cpp

3) Mode: Debug, x64.

4) Enviromental variables:

OPENCV_DIR: C:\programs\misha\opencv\build\x64\vc12

Path (the last string): %OPENCV_DIR%\bin

5) 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

I also tried to use x86 version with x32 project and OpenCV ver. 2.4

!! If you use VS2013 and can build this example (or at least any example with openCV libs), can you please send me your project? My e-mail is [email protected]. I will figure it out by myself!!

Update: I tried to change this option:

Linker -> General -> Additional Library Directories(last string): $(OPENCV_DIR)\staticlib

So instead of lib I used staticlib, the directory where all this libs are, and I got about 700 unresolved external symbols. Thanks, Mikhail

edit retag flag offensive close merge delete

Comments

1

Hah, did you restart your system? Else your system will not yet know your path variables addition.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-01-21 04:46:15 -0600 )edit

I tried, no changes. Still the same error

titan1432 gravatar imagetitan1432 ( 2015-01-22 11:47:06 -0600 )edit
1

you could try to replace the whole $Opencv_Dir schmoo with the real , absolute path

berak gravatar imageberak ( 2015-01-22 11:58:47 -0600 )edit
1

@berak, See Update, after I changed search path to correct one, and I also changed runtime option to Multithreaded debug /MTd, I got just a lot of errors of the type "Unresolved external symbol"

titan1432 gravatar imagetitan1432 ( 2015-01-22 12:03:03 -0600 )edit
1

Thanks, I did it. Cannot post an answer, since I am a newbie here

titan1432 gravatar imagetitan1432 ( 2015-01-22 13:26:39 -0600 )edit

hey how you solve your problem??i am suffering with as same

N gravatar imageN ( 2016-09-12 11:24:38 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-01-22 16:16:18 -0600

titan1432 gravatar image

updated 2015-01-22 16:17:15 -0600

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 flag offensive delete link more

Comments

1

could you amend, that this is for the static linking case (only) ?

berak gravatar imageberak ( 2015-01-22 16:25:40 -0600 )edit

yep it was not clear that you were trying to statically link OpenCV... normal procedure is to dynamically link OpenCV.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-01-23 01:45:42 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2015-01-20 15:07:55 -0600

Seen: 3,353 times

Last updated: Jan 22 '15