matlab - 如何将 64 位 MATLAB mex 文件链接到 OpenCV 库

标签 matlab opencv 64-bit

通常在 MATLAB 中,我可以使用以下方法编译使用 OpenCV 函数的 mex 文件:

mex -O "mxFunc.cpp" -I"C:\OpenCV2.1\include/opencv" -L"C:\OpenCV2.1\lib" -lcv210 -lcvaux210 -lcxcore210 -lhighgui210

但是,切换到 64 位版本的 MATLAB 后,我现在得到了无法解析的符号,例如

mxFunc.obj : error LNK2019: unresolved external symbol cvReleaseImage referenced in function mexFunction

我该如何解决这个问题?

系统:Windows 7 64位;微软风险投资2005; MATLAB R2010b 64 位; OpenCV 2.1.0。

最佳答案

一般情况下:您需要将使用的库重新编译为64位。

据我所知,这还不够。如果您使用 STL(并且 OpenCV 使用很多),您需要使用与 Matlab 使用的相同的 CRT 版本。因此,您需要使用与 Mathworks 人员相同版本的 MSVC...

您可以检查 libmex.dll 的依赖关系来确定需要哪个 CRT。之后,您需要安装适当的 Visual C++(通常免费版本就足够了)。

关于matlab - 如何将 64 位 MATLAB mex 文件链接到 OpenCV 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5622894/

相关文章:

c++ - 如何将每个 channel 分别与相同的矩阵相乘?

OpenCV 进度条

matlab - 了解 Matlab 中的回归函数

matlab - 删除零和连接向量

c++ - OpenCV 3 中的 FLANN 错误

visual-studio-2008 - CMake 为 Win32 和 x64 生成 Visual Studio 2008 解决方案

debugging - 使用 IDA PRO 6.1 调试 x64 应用程序

图像增强 - 从书写中清除给定图像

matlab - 高效计算外积的 3D 矩阵 - MATLAB

linux - 将应用程序移植到 64 位有那么难吗?