如何链接OpenCV与MATLAB for macOS



我正在尝试运行使用OpenCV库与MATLAB和mex命令的c++代码(代码已经有mexFunction)。

我已经安装了OpenCV库,我以前在Python中使用过它。我认为它应该适用于运行c++代码。我在MATLAB上运行这个命令编译代码:

mex -setup
mex fileName.cpp -L/usr/local/lib -I/usr/local/include/

和我也试过:

mex fileName.cpp -L/usr/local/lib -I/usr/local/include/ -llibopencv_core

但是我得到了不同的错误,它不能成功编译,例如:

错误:非常量表达式不能从类型'int'缩小到初始化列表中的unsigned long [- wc++ 11-narrow]

注意:插入一个显式强制转换来消除这个问题Const long unsigned int

我觉得链接有问题。我如何链接OpenCV与MATLAB运行c++代码使用Clang编译器在macOS上?

c++代码中的:# include & lt; opencv2/opencv.hpp>

和opencv2在-I/usr/local/include/

在/usr/local/lib中,我只能找到这些opencv库

1-修复是通过使用正确的路径到opencv库和Include文件夹,因为我的计算机上有几个opencv文件是使用pip为python项目安装的,所以我将路径改为由brew安装的opencv文件夹。我还添加了所有需要的-l文件-llibopencv_core。顺便说一下,我需要从llibopencv_core中删除(lib),所以它变成这样-lopencv_core所以编译器(clang)可以看到它。

3-最后,为了使缩小错误静音,我对变量的类型进行了一些更改以使其一致,这就是全部,(然而,一些编译器认为这是警告,无需任何更改即可正常工作)。

相关内容

  • 没有找到相关文章

最新更新