按需链接生成自己的所需功能的opencv静态库

如果一个app中,需要使用opencv的功能,那么不可避免的我们需要把opencv打包进安装包中。(动态下载so体验不太友好)如果把全尺寸so文件打包进去,尺寸就会比较打,如果只把自己需要的功能打包进去就能明显减小库的体积,减小我们安装包的体积。

这个过程,比较简单。

一般的库分为动态链接和静态链接,动态链接就是在程序需要的实在在加载功能库,获取所需功能, 一般是以 .so或 .dll等结尾;静态库,就是在在编译程序的时候,把所需的功能代码编译进我们程序中,一般是是以 .a或 .lib等结尾。

OpenCV SDK中一般包含.a结尾的静态库和.so结尾的动态库。这些动态库总共的尺寸达到了110m,如果把这些库都打包到我们的程序,我们程序最后的尺寸是非常大的,如果在用使用是下载,则程序使用体验较差。

还好,OpenCV SDK还提供能 .a结尾的静态库,我们就可以把我们感性库的共功能从静态库中链接出来生成我们所需的库文件。则可以极大的减少安装包尺寸。

步骤,我们就以AndroidStudio为例,创建CMakeLists.txt,把我们所需的功能都列出来,然后链接为指定名称的动态库,再在需要使用的时候,加载我们生成的新库就可以。

更多功能,请下载 图忆 批量水印进行体验。

2 thoughts on “按需链接生成自己的所需功能的opencv静态库

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注