我想在MATLAB中运行mex -setup,但首先必须从MatConvNet版本vl_compilenn运行matconvnet-1.0-beta24。当我运行vl_compilenn时出现错误:

C:/ProgramData/MATLAB/SupportPackages/R2018b_1/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/tmmintrin.h:
In function '__m64 _mm_alignr_pi8(__m64, __m64, int)':
C:/ProgramData/MATLAB/SupportPackages/R2018b_1/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/tmmintrin.h:195:27:
error: '__builtin_ia32_palignr' was not declared in this scope
       (__v1di)__Y, __N * 8);
                           ^
C:/ProgramData/MATLAB/SupportPackages/R2018b_1/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/tmmintrin.h:
In function '__m64 _mm_abs_pi32(__m64)':
C:/ProgramData/MATLAB/SupportPackages/R2018b_1/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/tmmintrin.h:241:51:
error: '__builtin_ia32_pabsd' was not declared in this scope
   return (__m64) __builtin_ia32_pabsd ((__v2si)__X);
                                                   ^


Error in vl_compilenn>mex_compile (line 529)
mex(mopts{:}) ;

Error in vl_compilenn (line 490)
    mex_compile(opts, srcs{i}, objfile, flags.mexcc) ;

关于这个还能做什么?

最佳答案

根据doc of gcc intrinsics,必须使用标志“-mssse3”进行编译。

我会尝试将此标志添加到编译标志flags.mexcc的集合中。我无法提供更多详细信息,因为主版本已从您的版本发展而来,脚本vl_compilenn已发展。

10-08 19:52