在尝试用cmake编译opencv3.4.2版本的时候,报错如下,
CMake Warning at cmake/OpenCVDetectCXXCompiler.cmake:147 (message): OpenCV does not recognize MSVC_VERSION "1923". Cannot set OpenCV_RUNTIME Call Stack (most recent call first): CMakeLists.txt:153 (include)
错误排查流程:
-
排查出报错的位置。在 opencv-3.4.2\cmake\OpenCVDetectCXXCompiler.cmake 文件的147行。
-
尝试描述该问题,即弄清楚问题是什么——“OpenCV does not recognize MSVC_VERSION “1923”. Cannot set OpenCV_RUNTIME Call Stack (most recent call first)”我的理解是对应的_MSC_VER 1923找不到对应的vc不能设置OpenCV_RUNTIME
-
搜索该问题,一击必中。
解决方法:
if(DEFINED OpenCV_ARCH AND DEFINED OpenCV_RUNTIME)
# custom overridden values
elseif(MSVC)
if(CMAKE_CL_64)
set(OpenCV_ARCH x64)
elseif((CMAKE_GENERATOR MATCHES "ARM") OR ("${arch_hint}" STREQUAL "ARM") OR (CMAKE_VS_EFFECTIVE_PLATFORMS MATCHES "ARM|arm"))
# see Modules/CmakeGenericSystem.cmake
set(OpenCV_ARCH ARM)
else()
set(OpenCV_ARCH x86)
endif

本文详细介绍了在使用cmake编译OpenCV 3.4.2版本时遇到的MSVC_VERSION1923识别问题,并提供了具体的解决方案。通过修改OpenCVDetectCXXCompiler.cmake文件,使OpenCV能够正确识别VS2019的VC++版本。
最低0.47元/天 解锁文章
865

被折叠的 条评论
为什么被折叠?



