Я хочу добавить 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
это нормально при компиляции opencv3 без opencv-contrib.
затем добавьте opencv-contrib в OPENCV_EXTRA_MODULES_PATH с помощью Cmake, при компиляции 6 проектов потерпели неудачу
Других решений пока нет …