当前位置:   article > 正文

编译Opencv3.3.1遇到的编译器无法识别的警告的问题解除:

编译Opencv3.3.1遇到的编译器无法识别的警告的问题解除:

问题描述:


本文,就是在一个硬件的SDK中用到了opencv3.3.1的版本,在笔者目前的VS2019,CUDA11版本下编译的问题和解决。在做Cmake的configure的时候,Cmake报了一个找不到编译器版本的错误,

 

Selecting windows SDK version 10.0.19041.0 to target Windows 10.0.19045Make Warning at cmake/OpenCVDetectCXXCompiler.cmake:120(message):OpencV does not recognize MSVC VERSION "1929".set OpenCV RUNTIMEcannotcall Stack (most recent call first):
cMakelists.txt:138 (include) 

 


问题根本原因:

opencv3.3.1的版本大约是在2017年,这时候VS2019还没有出来吧,对应的微软内部ID版本号,自然是没有出来,我们只要稍微改一下配置的Makefile就可以了:


解决办法:

在如下路径:找到编译器配置文件:

opencv331/opencv/cmake/OpenCVDetectCXXCompiler.cmake

 找到这段代码,

  1. if(MSVC)
  2. if(CMAKE_CL_64)
  3. set(OpenCV_ARCH x64)
  4. elseif((CMAKE_GENERATOR MATCHES "ARM") OR ("${arch_hint}" STREQUAL "ARM") OR (CMAKE_VS_EFFECTIVE_PLATFORMS MATCHES "ARM|arm"))
  5. # see Modules/CmakeGenericSystem.cmake
  6. set(OpenCV_ARCH ARM)
  7. else()
  8. set(OpenCV_ARCH x86)
  9. endif()
  10. if(MSVC_VERSION EQUAL 1400)
  11. set(OpenCV_RUNTIME vc8)
  12. elseif(MSVC_VERSION EQUAL 1500)
  13. set(OpenCV_RUNTIME vc9)
  14. elseif(MSVC_VERSION EQUAL 1600)
  15. set(OpenCV_RUNTIME vc10)
  16. elseif(MSVC_VERSION EQUAL 1700)
  17. set(OpenCV_RUNTIME vc11)
  18. elseif(MSVC_VERSION EQUAL 1800)
  19. set(OpenCV_RUNTIME vc12)
  20. elseif(MSVC_VERSION EQUAL 1900)
  21. set(OpenCV_RUNTIME vc14)
  22. elseif(MSVC_VERSION EQUAL 1910 OR MSVC_VERSION EQUAL 1911)
  23. set(OpenCV_RUNTIME vc15)
  24. elseif(MSVC_VERSION EQUAL 1921 OR MSVC_VERSION EQUAL 1929)
  25. set(OpenCV_RUNTIME vc16)
  26. else()
  27. message(WARNING "OpenCV does not recognize MSVC_VERSION \"${MSVC_VERSION}\". Cannot set OpenCV_RUNTIME")
  28. endif()
  29. elseif(MINGW)
  30. set(OpenCV_RUNTIME mingw)
  31. if(MINGW64)
  32. set(OpenCV_ARCH x64)
  33. else()
  34. set(OpenCV_ARCH x86)
  35. endif()
  36. endif()

修改成上述即可:

注意,我修改的部分为:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/132747
推荐阅读
相关标签
  

闽ICP备14008679号