c++ - OpenCv 的版本号是否有常数?

标签 c++ opencv shared-libraries

我问这个是因为我安装了几个并且怀疑我是否正在加载正确的动态库。

这个问题与这些问题略有不同,因为它们回答的是已安装的内容,而不是您的应用程序正在链接的内容:

Find OpenCV Version Installed on Ubuntu

How to check for openCV

最佳答案

除了@berak 的出色回答(与 version.hpp 相关):

OpenCV 2.4和OpenCV 3.0分支有不同的命名方案。
对于 OpenCV 2.4.x 我们有这样的东西(注意对于 2.4.x CV_VERSION_MAJOR4):

#define CV_VERSION_EPOCH    2
#define CV_VERSION_MAJOR    4
#define CV_VERSION_MINOR    8
#define CV_VERSION_REVISION 0

对于 OpenCV 3.0.x,我们有以下内容(请注意,CV_VERSION_MAJOR 意义已更改!):

#define CV_VERSION_MAJOR    3
#define CV_VERSION_MINOR    0
#define CV_VERSION_REVISION 0
#define CV_VERSION_STATUS   "-dev"

也就是说,如果您需要同时支持 2.4.x3.0.x,如果您想检查 CV_VERSION_MAJOR<,代码会稍微不明显.
我更喜欢检查 CV_VERSION_EPOCH:

#if (defined(CV_VERSION_EPOCH) && CV_VERSION_EPOCH == 2)
# OpenCV 2.4.x stuff
#else
# OpenCV 3.0 stuff
#endif

关于c++ - OpenCv 的版本号是否有常数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702555/

相关文章:

c++ - libcurl 示例 httpcustomheader.c 是否存在错误(显示不良做法)或者我是否遗漏了什么?

python - 在opencv中用拉普拉斯算子的方差计算模糊度

c++ - 在没有校准的情况下从一些图像重建 3D?

c - dlclose 被隐式调用

unix - UNIX 共享库可以合并为一个库吗?

c++ - 在现有 C++ 可执行项目 CMAKE 中构建 Apache Arrow

c++ - Boost::Spirit::Qi - 将规则拆分为单独的类

C++ 接口(interface)与模板

Python OpenCV 在网络摄像头捕获时出现黑屏

android - 在android apk中的不同 Activity 中加载.so文件时的内存共享