【发布时间】:2021-05-30 13:08:37
【问题描述】:
我正在尝试通过 MATLAB 和 mex 命令运行使用 OpenCV 库的 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-narrowing]
注意:插入显式强制转换以消除此问题 const long unsigned int
我觉得链接有问题。 如何将 OpenCV 与 MATLAB 链接以在 macOS 上使用 Clang 编译器运行 C++ 代码?
在 C++ 代码中:
#include
opencv2 在 -I/usr/local/include/ 里面
在 /usr/local/lib 里面,我只能找到这些 opencv libraries
【问题讨论】:
-
只有当您将编译器设置为错误而不是警告时,缩小转换才是错误。您可能在编译命令中遗漏了
-lopencv或类似内容。需要更多信息。 -
你用 python 试过 opencv 但是你是怎么安装 opencv 的?
-
@CrisLuengo 感谢您的回复,我尝试添加 -lopencv 但仍然有错误,是的,我相信我错过了一些东西,但它是什么?
-
@YunusTemurlenk 据我所知,我使用过 pip install opencv-python
-
你使用 pip 安装的库仅适用于 python。您不能将它们与 c++ 一起使用。
标签: c++ matlab opencv clang mex