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



我在iOS项目中使用OpenCV,但我遇到了问题,因为框架包括libpng和libjpeg,我的项目也包括它们。 这会导致链接期间出现重复符号。

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

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

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

我建议你简单地使用这些库的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

最新更新