如何在iOS上使用OpenCV和我自己的JPEG / PNG库?

时间:2014-12-19 02:26:37

标签: ios opencv libpng libjpeg

我在iOS项目中使用OpenCV,但我遇到了问题,因为该框架包含libpng和libjpeg,我的项目也包含这些内容。这会在链接期间导致重复的符号。

我想将OpenCV指向我自己的libjpeg / png副本,但我无法找到任何方法来完成这项工作。我尝试将构建变量BUILD_PNG和BUILD_JPEG设置为NO,但是没有任何效果,并且将WITH_JPEG和WITH_PNG设置为NO导致API在运行时由于缺少支持而尝试编写图像时失败。

我还考虑将我的项目指向OpenCV Framework的libjpeg / png标题,但这些都没有通过框架公开。我可以在框架中提取该版本的源代码并针对这些头文件进行构建,以便链接匹配,但是很糟糕。

在使用libpng和libjpeg的项目中,在iOS上使用OpenCV的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我建议您只使用这些库的OpenCV版本。这将要求您删除自己的版本,并确保获得正确版本的libpng和libjpeg标头的副本。

我刚刚为libpng成功完成了这个 - 我需要获得版本1.5.12的标题。请注意,对于此版本,您需要文件pnglibconf.h,您可以在libpng下载scripts/pnglibconf.h.prebuilt

中找到该文件

我的应用程序使用的是libpng 1.2.34,并且需要进行非常小的更改才能使用1.5.12。

我现在也为libjpeg做了同样的事情 - 我需要获取版本9 (libjpeg9)的标头。同样,您需要一个文件jconfig.h,最简单的方法就是重命名捆绑的jconfig.txt