Matlab 使用了 '-R2018a' 进行编译并与 '-R2017b' 链接在一起

矫情吗;* 2024-04-17 17:43 123阅读 0赞

报错:

错误使用 mex’ 使用了 ‘-R2018a’ 进行编译并与 ‘-R2017b’ 链接在一起。 有关详细信息,请参阅 MEX 文件使用了一个 API 进行编译并与另一个 API 链接在一起。

是因为Matlab R2018a 没有使用 -largeArrayDims,

将文件中的 largeArrayDims 改为 lmwblas 即可

  1. flags.mexcc = horzcat(flags.cc, ...
  2. {'-lmwblas'}, ... % % 原来为 largeArrayDims
  3. {['CXXFLAGS=$CXXFLAGS ' strjoin(flags.ccpass)]}, ...
  4. {['CXXOPTIMFLAGS=$CXXOPTIMFLAGS ' strjoin(flags.ccoptim)]}) ;
  5. if ~ispc, flags.mexcc{end+1} = '-cxx'; end
  6. % mex: compile GPU
  7. flags.mexcu= horzcat({'-f' mex_cuda_config(root)}, ...
  8. flags.cc, ...
  9. {'-lmwblas'}, ... % largeArrayDims
  10. {['CXXFLAGS=$CXXFLAGS ' quote_nvcc(flags.ccpass) ' ' strjoin(flags.nvccpass)]}, ...
  11. {['CXXOPTIMFLAGS=$CXXOPTIMFLAGS ' quote_nvcc(flags.ccoptim)]}) ;
  12. % mex: link
  13. flags.mexlink = horzcat(flags.cc, flags.link, ...
  14. {'-lmwblas'}, ... % largeArrayDims lmwblas
  15. {['LDFLAGS=$LDFLAGS ', strjoin(flags.linkpass)]}, ...
  16. {['LINKLIBS=$LINKLIBS ', strjoin(flags.linklibs)]}) ;

发表评论

表情:
评论列表 (有 0 条评论,123人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Matlab R2017b快速入门

    久闻Matlab的大名,可惜一直没有好好学学。现在正好装了个最新的版本,就来学习一下Matlab,了解一下它的强大的功能。 程序界面 打开Matlab会看到类似的程序界