C++ Windows 7上安装OpenCV 3.10时出现问题

C++ Windows 7上安装OpenCV 3.10时出现问题,c++,opencv,cmake,C++,Opencv,Cmake,我是Cmake的乞丐,不知道该把代码放在哪里。我的问题是: CMake Deprecation Warning at CMakeLists.txt:81 (cmake_policy): The OLD behavior for policy CMP0020 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of al

我是Cmake的乞丐,不知道该把代码放在哪里。我的问题是:

CMake Deprecation Warning at CMakeLists.txt:81 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
我是按照这里的指示来做的

在这里找到了答案:

我需要在Cmake文件中添加行,但我不知道在哪里添加它

cmake -DENABLE_PRECOMPILED_HEADERS=OFF
如果我在这里添加它,它会显示错误:CMake error at

CMakeLists.txt:12:
Parse error. Expected a command name, got left paren with text "(".
这是我的cmake文件:

使用Visual Studio 2013,OpenCV 3.10 Cmake 3.12

有人能帮我吗

编辑:

1>------ Build started: Project: ConsoleApplication14, Configuration: Release x64 ------
1>Source.obj : error LNK2001: unresolved external symbol "public: virtual double __cdecl cv::VideoCapture::get(int)const " (?get@VideoCapture@cv@@UEBANH@Z)
1>Source.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl cv::VideoCapture::isOpened(void)const " (?isOpened@VideoCapture@cv@@UEBA_NXZ)
1>Source.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl cv::VideoCapture::~VideoCapture(void)" (??1VideoCapture@cv@@UEAA@XZ)
1>Source.obj : error LNK2001: unresolved external symbol "public: __cdecl cv::VideoCapture::VideoCapture(int)" (??0VideoCapture@cv@@QEAA@H@Z)
1>Source.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl cv::VideoWriter::write(class cv::Mat const &)" (?write@VideoWriter@cv@@UEAAXAEBVMat@2@@Z)
1>Source.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl cv::VideoWriter::~VideoWriter(void)" (??1VideoWriter@cv@@UEAA@XZ)
1>Source.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\ConsoleApplication14\x64\Release\ConsoleApplication14.exe : fatal error LNK1120: 7 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这是在Windows上从源代码构建OpenCV的一个很好的教程:
CMake Deprecation Warning
绝对不是您的问题。首先,这不是一个错误,只是一个警告,因此不会阻止构建项目。其次,它解释了某些代码行是正确的,但最好避免它。由于代码不是您的,对您来说没什么不好。行
cmake-DENABLE\u PRECOMPILED\u HEADERS=OFF
告诉您需要将
ENABLE\u PRECOMPILED\u HEADERS
配置参数设置为
OFF
。如果调用
cmake
来配置项目,那么给定的配置参数应该设置为
-DENABLE\u PRECOMPILED\u HEADERS=OFF
选项(查看原始行!)。如果使用CMake GUI,则应在该GUI的参数区域中设置参数。(你应该点击“配置”按钮,用参数填充该区域,以便修改参数)。这里有OpenCV 3.10…@Tsyvarev,谢谢。我可能会尝试使用与教程中完全相同的版本,因为现在我得到了
C:\Users\vartojas>cmake.exe--build--配置版本--目标安装错误:无法加载缓存
1>------ Build started: Project: ConsoleApplication14, Configuration: Release x64 ------
1>  Source.cpp
1>Source.cpp(15): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
1>Source.cpp(16): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol ICOpen
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol ICClose
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol ICSendMessage
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol ICDecompress
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIFileInit
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIFileRelease
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIFileOpenA
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIFileGetStream
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIFileCreateStreamA
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamRelease
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamInfoA
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamSetFormat
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamWrite
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamGetFrameOpen
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamGetFrame
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIStreamGetFrameClose
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVIMakeCompressedStream
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol AVISaveOptions
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol capCreateCaptureWindowA
1>opencv_videoio300.lib(cap_vfw.obj) : error LNK2001: unresolved external symbol capGetDriverDescriptionA
1>c:\users\vartotojas\documents\visual studio 2013\Projects\ConsoleApplication14\x64\Release\ConsoleApplication14.exe : fatal error LNK1120: 20 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========