0

当我尝试在 matlab r2011b 上编译 mex 文件时,会出现如下错误。

我该如何解决?

我从http://www.timotheecour.com/software/ncut_multiscale/ncut_multiscale.html下载了代码并编译

我的系统:核心 i7 - 64 位 win7

You can change your home, image, and results directories if you want ; see startup/definePaths
*********************************
Error: compilation of \cimgnbmap_lower.cpp failed :     Usage:
        MEX [option1 ... optionN] sourcefile1 [... sourcefileN]
            [objectfile1 ... objectfileN] [libraryfile1 ... libraryfileN]

    Use the -help option for more information, or consult the MATLAB API Guide.


  C:\PROGRA~1\MATLAB\R2011B\BIN\MEX.PL: Error: Unrecognized switch: -argcheck.


*********************************
....... (same error for other 11 files)


There were 0 files compiled

Error: There were 12 erroneous files during compilation
\cimgnbmap_lower.cpp
\mex_XindicatorTimesX.cpp
\mex_affinity_option.cpp
\mex_computeRowSum.cpp
\mex_constraint_classes.cpp
\mex_extractMaxima.cpp
\mex_istril.cpp
\mex_neighborW.cpp
\mex_normalizeColumns.cpp
\mex_projection_QR_symmetric.cpp
\mex_w_times_x_symmetric_tril.cpp
\spmtimesd.cpp

ans = 

1x12 struct array with fields:
    isErrorDuringCompilation
    isCompilationFailed
    message
    compiledFilename
    file
    isError
4

1 回答 1

1

mex 的 -argcheck 选项已从 MATLAB R2010b 中删除。您使用的是哪个版本的 MATLAB?如果您认为您的 mex 文件不希望对 API 函数进行无效调用,则可以安全地删除此选项。例如,使用 NULL 指针调用 mxGetPr 会崩溃。“-argcheck”会捕捉到这一点并作为错误抛出。

于 2013-01-12T15:51:33.290 回答