Почему происходит сбой при компиляции openCV3.2 с Visual Studio 2017?

Я хочу добавить opencv и openCV contrib модуль, поэтому я загружаю репозиторий opencv_contrib. Затем выполните настройку с помощью VS2017-64it, добавьте OPENCV_EXTRA_MODUlES_PATH в CMAKE, когда он запросит, и CMake. Затем откройте проект с правами администратора. Затем соберите установку и столкнитесь с проблемами. VS показывает окно с надписью «Оптимизирующий компилятор Microsoft (R) C / C + + перестал работать». И списки ошибок:

error	C1903	Can not recover from the previous error;Stopping compilation (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_core.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	674
error	MSB6006	'cmd.exe'exited,The code is 1。	opencv_core	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets	171
...
error	MSB6006	'cmd.exe'exited,The code is 1。	opencv_test_cudev	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets	171
error	MSB3073	command'setlocal
'D:\Program Files\CMake\bin\cmake.exe' -DBUILD_TYPE=Debug -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd'exited,The code is 1。	INSTALL	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets	133
error	C2610	'std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn>::tuple(const std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn> &)': Not a special member function that can be defaulted (Compile the source file D:\opencv3.2\opencv-master\modules\cudawarping\perf\perf_warping.cpp)	opencv_perf_cudawarping	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	535
...
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> &)': The member function has been defined or declared (Compile the source file D:\opencv3.2\opencv-master\modules\cudastereo\perf\perf_stereo.cpp)	opencv_perf_cudastereo	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	674
error	C1903	Can not recover from the previous error;Stopping compilation (Compile the source file D:\opencv3.2\opencv-master\modules\cudastereo\perf\perf_stereo.cpp)	opencv_perf_cudastereo	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	674
error	C2610	'std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn>::tuple(const std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn> &)': Not a special member function that can be defaulted (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_core.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	535
error	C2610	'std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn>::tuple(std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn> &&)': Not a special member function that can be defaulted (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_core.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	536
error	C2535	'std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn> &std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn>::operator =(const std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth,perf::`anonymous-namespace'::MatCn> &)': The member function has been defined or declared (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_core.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	674
error	C2610	'std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::tuple(const std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth> &)': Not a special member function that can be defaulted (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_element_operations.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	535
error	C2610	'std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth>::tuple(std::tuple<cv::Size,perf::`anonymous-namespace'::MatDepth> &&)': Not a special member function that can be defaulted (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_element_operations.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	536
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> &)': The member function has been defined or declared (Compile the source file D:\opencv3.2\opencv-master\modules\cudaarithm\perf\perf_element_operations.cpp)	opencv_perf_cudaarithm	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	674
...
error	C1903	Can not recover from the previous error;Stopping compilation (Compile the source file D:\opencv3.2\opencv-master\modules\cudaimgproc\perf\perf_histogram.cpp)	opencv_perf_cudaimgproc	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\tuple	674
error	LNK1104	can not open file'..\..\lib\Debug\opencv_highgui330d.lib'	opencv_annotation	D:\opencv3.2\build\apps\annotation\LINK	1
...
error	LNK1104	can not open file'..\..\lib\Debug\opencv_highgui330d.lib'	opencv_test_core	D:\opencv3.2\build\modules\core\LINK	1
error	D8040	An error occurred while creating a child process or communicating with a child process	opencv_perf_cudaarithm	D:\opencv3.2\build\modules\cudaarithm\cl	1
error	LNK1104	can not open file'..\..\lib\Debug\opencv_cudaarithm330d.lib'	opencv_test_cudaarithm	D:\opencv3.2\build\modules\cudaarithm\LINK	1
...
error	LNK1104	can not open file'..\..\lib\Debug\opencv_cudaoptflow330d.lib'	opencv_test_cudaoptflow	D:\opencv3.2\build\modules\cudaoptflow\LINK	1
error	D8040	An error occurred while creating a child process or communicating with a child process	opencv_perf_cudastereo	D:\opencv3.2\build\modules\cudastereo\cl	1
error	LNK1104	can not open file'..\..\lib\Debug\opencv_cudastereo330d.lib'	opencv_test_cudastereo	D:\opencv3.2\build\modules\cudastereo\LINK	1
error	D8040	An error occurred while creating a child process or communicating with a child process	opencv_perf_cudawarping	D:\opencv3.2\build\modules\cudawarping\cl	1
error	LNK1104	can not open file'..\..\lib\Debug\opencv_cudawarping330d.lib'	opencv_test_cudawarping	D:\opencv3.2\build\modules\cudawarping\LINK	1
...
error	LNK1104	can not open file'..\..\..\..\lib\Debug\opencv_highgui330d.lib'	opencv_waldboost_detector	D:\opencv3.2\build\modules\xobjdetect\tools\waldboost_detector\LINK	1
error	LNK1104	can not open file'..\..\lib\Debug\opencv_imgproc330d.lib'	opencv_xphoto	D:\opencv3.2\build\modules\xphoto\LINK	1
error	LNK1104	can not open file'..\..\lib\Debug\opencv_xphoto330d.lib'	opencv_perf_xphoto	D:\opencv3.2\build\modules\xphoto\LINK	1
error	LNK1104	can not open file'..\..\lib\Debug\opencv_xphoto330d.lib'	opencv_test_xphoto	D:\opencv3.2\build\modules\xphoto\LINK	1

1

Решение

это нормально при компиляции opencv3 без opencv-contrib.
затем добавьте opencv-contrib в OPENCV_EXTRA_MODULES_PATH с помощью Cmake, при компиляции 6 проектов потерпели неудачу

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]