Can't get OpenCV app work in x64

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// ConsoleApplication7.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include "opencv2/opencv.hpp"
#include <iostream>

using namespace std;
using namespace cv;

int main() {

	VideoCapture vcap(0);
	if (!vcap.isOpened()) {
		cout << "Error opening video stream or file" << endl;
		return -1;
	}

	int frame_width = vcap.get(CV_CAP_PROP_FRAME_WIDTH);
	int frame_height = vcap.get(CV_CAP_PROP_FRAME_HEIGHT);
	VideoWriter video("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), 10, Size(frame_width, frame_height), true);

	for (;;) {

		Mat frame;
		vcap >> frame;
		video.write(frame);
		imshow("Frame", frame);
		char c = (char)waitKey(33);
		if (c == 27) break;
	}
	return 0;
}
Trying to get this code compiled in x64. I successfully compiled it in x86. But in x64 I'm getting:

1>------ Build started: Project: ConsoleApplication4, Configuration: Release x64 ------
1> stdafx.cpp
1> ConsoleApplication4.cpp
1>ConsoleApplication4.cpp(21): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
1>ConsoleApplication4.cpp(22): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
1>ConsoleApplication4.obj : error LNK2001: unresolved external symbol "private: char * __cdecl cv::String::allocate(unsigned __int64)" (?allocate@String@cv@@AEAAPEAD_K@Z)
1>ConsoleApplication4.obj : error LNK2001: unresolved external symbol "private: void __cdecl cv::String::deallocate(void)" (?deallocate@String@cv@@AEAAXXZ)
1>ConsoleApplication4.obj : error LNK2001: unresolved external symbol "public: virtual double __cdecl cv::VideoCapture::get(int)const " (?get@VideoCapture@cv@@UEBANH@Z)
1>ConsoleApplication4.obj : error LNK2001: unresolved external symbol "public: __cdecl cv::VideoWriter::VideoWriter(class cv::String const &,int,double,class cv::Size_<int>,bool)" (??0VideoWriter@cv@@QEAA@AEBVString@1@HNV?$Size_@H@1@_N@Z)
1>c:\users\vartotojas\documents\visual studio 2013\Projects\ConsoleApplication4\x64\Release\ConsoleApplication4.exe : fatal error LNK1120: 4 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Additional dependencies:
opencv_core2411.lib
opencv_imgproc2411.lib
opencv_highgui2411.lib
opencv_ml2411.lib
opencv_video2411.lib
opencv_features2d2411.lib
opencv_calib3d2411.lib
opencv_objdetect2411.lib
opencv_contrib2411.lib
opencv_legacy2411.lib
opencv_flann2411.lib
libpng.lib
libtiff.lib
zlib.lib
IlmImf.lib
libjasper.lib
libjpeg.lib
comctl32.lib
gdi32.lib
vfw32.lib

OpenCV version: 2.411
Visual Studio 2013

settings:
Platform - x64

Didn't forget to change libraries from x86 to x64.
Topic archived. No new replies allowed.