【问题标题】:How can I use OpenCV on iOS with my own JPEG/PNG libraries?如何在 iOS 上将 OpenCV 与我自己的 JPEG/PNG 库一起使用?
【发布时间】:2015-02-17 23:13:03
【问题描述】:

我在 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 的正确方法是什么?

【问题讨论】:

    标签: ios opencv libpng libjpeg


    【解决方案1】:

    我建议您只使用这些库的 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

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多