在 Matlab 中使用 OpenCV:mex 找不到头文件
Posted
技术标签:
【中文标题】在 Matlab 中使用 OpenCV:mex 找不到头文件【英文标题】:Using OpenCV with Matlab: mex does not find header files 【发布时间】:2014-05-05 12:58:47 【问题描述】:我正在尝试按照本教程连接 Matlab 和 OpenCV:http://xanthippi.ceid.upatras.gr/people/evangelidis/matlab_opencv/
由于我在 Linux 系统上工作,我无法按照 mexopts.bat 文件的说明进行操作,因为 Linux 等效文件 (mexopts.sh) 似乎有很大不同,而且我发现教程中没有提到任何选项mexopts.sh 文件。 所以我尝试在 Matlab 中设置选项。
我下载了最新的 OpenCV 版本 (2.4.8) 并根据他们网站上的说明进行编译(http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html 没有 make install
)。
OpenCV 目录的结构似乎有问题,因为有多个include
目录,我不确定要指定哪个。
[编辑]:
这里有很多毫无意义的代码,因为@Peter 让我意识到我只是误解了make/make install
的工作原理,所以这些代码都是多余的。
【问题讨论】:
整个编译工具链似乎可以工作,我能够编译一个不使用任何外部库的简单 cpp 文件。所以我认为这只能是 OpenCV 和我的包含设置的问题。 “没有 make install”是问题所在。make install
将收集散布在 OpenCV 源代码树中的所有头文件,并将它们放在一个目录中以供包含。您可以将安装路径设置在您的主目录中,而不是系统目录中。
嘿@Peter,这几乎解决了我的问题。认为make install
做了一些不同的事情。感谢那。将您的评论作为答案,我会认出它/关闭这个问题。非常感谢。
【参考方案1】:
“没有make install
”是问题所在。包含文件和构建的库分散在源代码树中,由构建系统确定。 make install
收集所有适合库用户使用的标头,并将它们放在一个目录中以供包含。图书馆本身也是如此。 make install
还可以“剥离”库,从而大大减小大小并缩短加载时间。
如果您不希望安装在系统目录中,可以将安装路径设置在主目录中的某个位置。
【讨论】:
以上是关于在 Matlab 中使用 OpenCV:mex 找不到头文件的主要内容,如果未能解决你的问题,请参考以下文章