#matlab问题处理
1.编译器的问题
在MATLAB命令窗口中运行以下命令:
setenv(‘MW_MINGW64_LOC’,‘C:\TDM-GCC-64’)
(其中“C:\TDM-GCC-64”是MinGW的安装目录。这种方法每次启动MATLAB for MATLAB来正确使用MinGW时,都需要运行这个命令。命令到你的“startup.m”文件。每次MATLAB启动时都会执行该命令。)
2.运行中出现的问题
错误使用 mex
E:\深度估计代码\make3d\LearningCode\Inference\SupRayAlign.cpp: In function ‘void mexFunction(int, mxArray**, int, const
mxArray**)’:
E:\深度估计代码\make3d\LearningCode\Inference\SupRayAlign.cpp:381:71: error: cannot convert ‘int*’ to ‘const size_t* {aka
const long long unsigned int*}’ for argument ‘2’ to ‘mxArray* mxCreateNumericArray_730(size_t, const size_t*, mxClassID,
mxComplexity)’
TEXCOOR_OUT = mxCreateNumericArray( 3, DIM, mxDOUBLE_CLASS, mxREAL);
出错 InitialPath (line 68)
mex …/./Inference/SupRayAlign.cpp
错误原因可能是因为程序在64位与32位机器之间进行切换,即原来的程序是在32位机器上进行执行的,现在的机器是64位的,故需显示指定。
mex -DMX_COMPAT_32 -O SupRayAlign.cpp