C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 在Mac OS X上安装OpenCV 3作为框架大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用OpenCV在OS X El Capitan上制作应用程序.我决定使用2015年6月4日发布的最新版本3.0.0.我使用brew安装了2.4.x版本,但由于版本3现在有一个构建框架的osx构建脚本,我想使用它方法.

从OpenCV.org下载版本3后,我在opencv-3.0.0目录中打开了一个终端窗口并执行了build_framework.py脚本,如下所示:
platforms / osx / build_framework.py osx
(osx参数告诉脚本创建一个名为osx的目录来输出框架)

所有内容都顺利构建,因此我将osx目录中构建的框架添加到我的项目中.

令我惊讶的是,我的项目不会没有错误地构建.首先是以下两个问题.这是第一个截图:

c – 在Mac OS X上安装OpenCV 3作为框架

如果第一个问题没有显示,opencv2.framework中每个头文件的#ifndef __cplusplus#错误将被触发.

c – 在Mac OS X上安装OpenCV 3作为框架

事实证明问题是需要在Objective-C头之前调用C头,所以我将以下内容添加到项目的PCH文件中:

c – 在Mac OS X上安装OpenCV 3作为框架

您实际上可以将此代码添加到需要opencv.hpp头文件的头文件中,而不是为项目创建PCH文件.您还应该确定说#include而不是#import,但它们都应该有效.

一旦我发现了这些问题,我仍然坚持使用39个未定义的符号来构建x86_64.

c – 在Mac OS X上安装OpenCV 3作为框架

起初我认为该框架不包括x86_64版本,但快速检查显示包括i386和x86_64版本的目标文件,并且我的项目设置都是正确的.
接下来,我查找了一些未定义符号的名称,发现它们是名为OpenCL的项目的一部分. OpenCL应该加速一些功能,并包含在opencv3中.起初我认为该模块没有构建,但在阅读build_framework.py构建脚本后,我发现它是从CMakeLists.txt文件获取其设置.阅读本文表明,遵循OpenCL标志:
WITH_OPENCL
WITH_OPENCLAMDFFT
WITH_OPENCLAMDBLAS
正在设定

c – 在Mac OS X上安装OpenCV 3作为框架

稍微阅读让我相信Mac OS X El Capitan与OpenCL不兼容,因为它似乎需要内核支持.所以我改变了CMakeLists.txt文件,不添加“AND NOT APPLE”来构建OpenCL
WITH_OPENCL
WITH_OPENCLAMDFFT
WITH_OPENCLAMDBLAS

c – 在Mac OS X上安装OpenCV 3作为框架

在更改了CMakeLists.txt文件并再次构建框架之后,我的程序能够与opencv2.framework链接(不知道为什么他们仍称它为opencv2而不是opencv3)并运行.

我花了更多的时间来承认,所以我想我会在这里分享我的经验,希望能够让其他人免于让OpenCV 3使用他们的Mac OS X应用程序而感到沮丧.干杯!

解决方法

经过近2年,我遇到了同样的问题.但是,我找到了一个更体面的解决方案.

与您的想法相反,macOS实际上与OpenCL兼容,尽管它没有链接到OpenCV2.framework.在链接opencv2.framework之前,我尝试将我的二进制文件与liblapack.tbd,libcblas.tbd和OpenCl.framework链接起来,它就像魅力一样.

所以只需转到项目设置 – >构建阶段 – > Link Binary With Libraries并添加以下内容

Link Binary With Libraries section

@H_874_63@

大佬总结

以上是大佬教程为你收集整理的c – 在Mac OS X上安装OpenCV 3作为框架全部内容,希望文章能够帮你解决c – 在Mac OS X上安装OpenCV 3作为框架所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。