每个openCV 3.1.0库的三个实例

Three instances of each openCV 3.1.0 library

本文关键字:三个 实例 openCV 每个      更新时间:2023-10-16

我能够按照这里(http://charliegerard.github.io/blog/Installing-OpenCV/)的说明安装和构建openCV。但是在成功创建动态库之后,我注意到在lib目录中有3个实例,每个库以以下格式命名:

libopencv_LibName.3.1.0。dylib

libopencv_LibName.3.1.dylib

libopencv_LibName.dylib

库的截图

我的下一步是只挑出头文件和库,我需要为我的项目,我不确定我是否真的需要所有3个实例的每个库在使用。为什么他要创造这些额外的东西?我需要哪些呢?

附加信息:

OS: OSX El Capitan

IDE: Xcode 7.3.1

当您构建opencv库时,它会创建实际的*。dylib binary (libopencv_LibName.3.1.0.dylib),包含发布版本、主要版本和次要版本。(Release = 3, Major = 1, Minor = 0).这允许你以动态的方式链接到库的特定版本。(例如,opencv在发行版本之间经常不完全兼容。(从2. x。X到3.x.x),但它通常在主要/次要版本之间兼容。X

通过链接到3.1.0版本,您锁定了需要该特定版本的库。(如果你更新了opencv,它仍然会使用opencv 3.1.0)。

然而,如果你链接到3.1版本,它只关心发布和主要版本,但将允许小版本更新。(目前3.1是指向3.1.0的符号链接,但如果您安装了3.1.1,它现在将引用3.1.1库。)我通常发现最好链接到这个,因为它允许你更新错误修复,但不会破坏任何功能。

最后是无版本符号链接,它总是引用你安装的最新版本的opencv。目前它引用3.1.0,但如果您安装了3.1.1,它现在将引用3.1.1。这并不坏,但是如果您要安装4.0.0,它现在就会引用这个二进制文件,并且可能会破坏一些API。