如何解决在使用CMAKE 3.4.1和VS2015

时间:2015-12-25 10:54:34

标签: c++ visual-studio opencv cmake cross-compiling

使用CMAKE 3.4.1和VS2015构建OPENCV 3.0时。 VS2015存在以下错误:

error   C2264   “std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::tuple”: error;opencv_perf_core E:\OpenCV3\sources\modules\core\perf\opencl\perf_channels.cpp   187 
error       Cannot open scr file "opencv2/core/hal/intrin.hpp"  opencv_xphoto   e:\OpenCV3\sources\modules\xphoto\src\grayworld_white_balance.cpp   43  
error   C1083   Cannot open include file: “opencv2/core/hal/intrin.hpp”: No such file or directory  opencv_xphoto   E:\OpenCV3\sources\modules\xphoto\src\grayworld_white_balance.cpp   43  
error   C2610   “std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::tuple(const std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth> &)”:  E:\OpenCV3\sources\modules\core\perf\opencl\perf_channels.cpp)    opencv_perf_core    D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple    328 
error   C2610   “std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::tuple(std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth> &&)”:  E:\OpenCV3\sources\modules\core\perf\opencl\perf_channels.cpp) opencv_perf_core    D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple    329 
error   C2535   “std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth> &std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::operator =(const std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth> &)”:  E:\OpenCV3\sources\modules\core\perf\opencl\perf_channels.cpp)   opencv_perf_core    D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple    463 
error   C2382   “std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::operator =”: E:\OpenCV3\sources\modules\core\perf\opencl\perf_channels.cpp)    opencv_perf_core    D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple    463 
error   C2264   “std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::tuple”: 函数定义或声明中有error;未调用函数   opencv_perf_core    E:\OpenCV3\sources\modules\core\perf\opencl\perf_channels.cpp   165 
error   C1083   Cannot open include file: “opencv2/core/hal/intrin.hpp”: No such file or directory  opencv_ximgproc E:\OpenCV3\sources\modules\ximgproc\src\fgs_filter.cpp  38  
error   C1083   Cannot open include file: “opencv2/core/hal/hal.hpp”: No such file or directory opencv_aruco    E:\OpenCV3\sources\modules\aruco\src\dictionary.cpp 44  
error   C1083   Cannot open include file: “opencv2/core/hal/hal.hpp”: No such file or directory opencv_ximgproc E:\OpenCV3\sources\modules\ximgproc\src\sparse_match_interpolators.cpp  41  
error   C1083   Cannot open include file: “opencv2/core/hal/hal.hpp”: No such file or directory opencv_xfeatures2d  E:\OpenCV3\sources\modules\xfeatures2d\src\sift.cpp 108 
error   C1083   Cannot open include file: “opencv2/core/hal/hal.hpp”: No such file or directory opencv_optflow  E:\OpenCV3\sources\modules\optflow\src\motempl.cpp  44  
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_aruco300d.lib”  opencv_test_aruco   E:\OpenCV3\sources\build\modules\aruco\LINK 1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_optflow300d.lib”    opencv_test_optflow E:\OpenCV3\sources\build\modules\optflow\LINK   1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_xfeatures2d300d.lib”    opencv_stitching    E:\OpenCV3\sources\build\modules\stitching\LINK 1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_stitching300d.lib”  opencv_perf_stitching   E:\OpenCV3\sources\build\modules\stitching\LINK 1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_xphoto300d.lib” opencv_perf_xphoto  E:\OpenCV3\sources\build\modules\xphoto\LINK    1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_ximgproc300d.lib”   opencv_perf_ximgproc    E:\OpenCV3\sources\build\modules\ximgproc\LINK  1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_xfeatures2d300d.lib”    opencv_perf_xfeatures2d E:\OpenCV3\sources\build\modules\xfeatures2d\LINK   1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_stitching300d.lib”  opencv_test_stitching   E:\OpenCV3\sources\build\modules\stitching\LINK 1   
error   C2065   “vector_Rect2d”: Undeclared identifier  opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22172   
error   C2146   syntax error: missing“;”(在标识符“boundingBox”的前面)  opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22172   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22172   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22179   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22181   
error   C2065   “vector_Rect2d”: Undeclared identifier  opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22191   
error   C2146   syntax error: missing“;”    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22191   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22191   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22197   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22199   
error   C2065   “vector_Rect2d”: Undeclared identifier  opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22216   
error   C2146   syntax error: missing“;”opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22216   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22216   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22223   
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_types.h 22224   
error   C2065   “vector_Rect2d”: Undeclared identifier  opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_funcs.h 7839    
error   C2146   syntax error: missing“;”    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_funcs.h 7839    
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_funcs.h 7839    
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_funcs.h 7846    
error   C2065   “boundingBox”: Undeclared identifier    opencv_python2  E:\OpenCV3\sources\build\modules\python2\pyopencv_generated_funcs.h 7848    
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_xfeatures2d300d.lib”    opencv_test_xfeatures2d E:\OpenCV3\sources\build\modules\xfeatures2d\LINK   1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_ximgproc300d.lib”   opencv_test_ximgproc    E:\OpenCV3\sources\build\modules\ximgproc\LINK  1   
error   LNK1104 Cannot open file“..\..\lib\Debug\opencv_xphoto300d.lib” opencv_test_xphoto  E:\OpenCV3\sources\build\modules\xphoto\LINK    1   

我认为问题可能来自“opencv2 / core / hal / intrin.hpp”和“opencv2 / core / hal / hal.hpp”。但是在我指定包含文件之后。代码内部出现更多问题,例如没有像cv :: hal等这样的东西。所以我完全失去了错误。

我使用以下教程来配置和编译我的Cmake和VS:https://putuyuwono.wordpress.com/2015/04/23/building-and-installing-opencv-3-0-on-windows-7-64-bit/

我需要使用Xfeatures2d,那么我该怎样做呢?非常感谢你,圣诞快乐〜

1 个答案:

答案 0 :(得分:1)

尝试使用OpenCV 3.1源代码构建。

由于您正在构建Xfeatures2d,因此您似乎已将opencv_contrib模块添加到源树中。我在过去一周做了同样的事情,我下载的opencv_contrib版本只能使用现在可用的OpenCV 3.1构建。使用OpenCV 3.0,我看到了完全相同的第一条错误消息(无法打开scr文件“opencv2 / core / hal / intrin.hpp”)。似乎hal已经在OpenCV 3.1中移动到核心。

试一试。现在,所有模块都在Windows 7下使用Visual Studio 2012成功构建。注意:'opencv_extra_modules_path'必须在CMake中设置,我假设你也想要'with_cuda'设置(你可能已经检查过了)。我正在使用CMake 2.8.12.2。