opencv的x64庫的版本和vs的版本的對應關系


1 關於vs的版本

visual studio是一個集成開發環境,而vc++是一個c++的compiler,vc++有一個版本和一個版本號,vs也有一個版本,它們的對應關系如下:

MSVC++ 4.x _MSC_VER == 1000 MSVC++ 5.0 _MSC_VER == 1100 MSVC++ 6.0 _MSC_VER == 1200 MSVC++ 7.0 _MSC_VER == 1300 MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003) MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017)

也就是說,vs2013使用的是MSVC++ 12.0的c++編譯器,該c++編譯器的版本號是1800。

2 opencv的x64庫版本
在配置opencv的時候,如果編譯器是MSVC,那么按照下面的方式來存放OpenCV_RUNTIME,即opencv的動態庫和靜態庫。
if(MSVC)
  if(CMAKE_CL_64)
    set(OpenCV_ARCH x64)
    set(OpenCV_TBB_ARCH intel64)
  else()
    set(OpenCV_ARCH x86)
    set(OpenCV_TBB_ARCH ia32)
  endif()
  if(MSVC_VERSION EQUAL 1400)
    set(OpenCV_RUNTIME vc8)
  elseif(MSVC_VERSION EQUAL 1500)
    set(OpenCV_RUNTIME vc9)
  elseif(MSVC_VERSION EQUAL 1600)
    set(OpenCV_RUNTIME vc10)
  elseif(MSVC_VERSION EQUAL 1700)
    set(OpenCV_RUNTIME vc11)
  elseif(MSVC_VERSION EQUAL 1800)
    set(OpenCV_RUNTIME vc12)
  elseif(MSVC_VERSION EQUAL 1900)
    set(OpenCV_RUNTIME vc14)
  endif()

這里的MSVC_VERSION即上表中的_MSC_VER,當1800是,是vc12,msvc++ 12.0版本的編譯器,即visual studio 2013,這樣看來,
vc12是msvc++編譯器的版本,而該編譯器版本對應的vs是2013。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM