C++ OpenCv的版本号有常数吗?
我问这个问题是因为我安装了一些动态库,并且怀疑我是否加载了正确的动态库 此问题与这些问题略有不同,因为它们回答的是安装的内容,而不是应用程序链接的内容: 核心中有一个标题,它定义了CV\u VERSION\u MAJOR等常量C++ OpenCv的版本号有常数吗?,c++,opencv,shared-libraries,C++,Opencv,Shared Libraries,我问这个问题是因为我安装了一些动态库,并且怀疑我是否加载了正确的动态库 此问题与这些问题略有不同,因为它们回答的是安装的内容,而不是应用程序链接的内容: 核心中有一个标题,它定义了CV\u VERSION\u MAJOR等常量 除此之外,cout这是version.hpp中OpenCV 2.4.8的定义: #define CV_VERSION_EPOCH 2 #define CV_VERSION_MAJOR 4 #define CV_VERSION_MINOR 8 #defi
除此之外,
cout这是version.hpp中OpenCV 2.4.8的定义:
#define CV_VERSION_EPOCH 2
#define CV_VERSION_MAJOR 4
#define CV_VERSION_MINOR 8
#define CV_VERSION_REVISION 0
除了great@berak的回答(与以下内容相关):
OpenCV 2.4和OpenCV 3.0分支中有不同的命名方案。
对于OpenCV 2.4.x我们有类似的内容(注意2.4.xCV\u版本的主要版本是4):
对于opencv3.0.x我们有以下内容(注意CV\u VERSION\u MAJOR
sense已更改!):
也就是说,如果您需要同时支持2.4.xabd3.0.x,那么如果您想检查CV\u VERSION\u MAJOR
,代码将稍微不明显
我更喜欢检查CV\u VERSION\u EPOCH
:
#if (defined(CV_VERSION_EPOCH) && CV_VERSION_EPOCH == 2)
# OpenCV 2.4.x stuff
#else
# OpenCV 3.0 stuff
#endif
根据您发布的version.hpp链接,CV\u-MAJOR\u-version
包含与CV\u-MAJOR\code>相同的内容。所以我们不清楚为什么一个应该被使用而不是另一个。
#define CV_VERSION_MAJOR 3
#define CV_VERSION_MINOR 0
#define CV_VERSION_REVISION 0
#define CV_VERSION_STATUS "-dev"
#if (defined(CV_VERSION_EPOCH) && CV_VERSION_EPOCH == 2)
# OpenCV 2.4.x stuff
#else
# OpenCV 3.0 stuff
#endif