MatConvNet编译报错:Error using mex nvcc fatal : ‘-DNDEBUG’: expected a number 解决办法

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MatConvNet编译报错:Error using mex nvcc fatal : ‘-DNDEBUG’: expected a number 解决办法相关的知识,希望对你有一定的参考价值。

文章目录


项目场景

最近在使用 MatConvNet 编译 GPU 支持时,使用 vl_compilenn('enableGpu', true, 'cudaRoot', '/usr/local/cuda-11.1') 命令出现了如下报错:

Error using mex
nvcc fatal   : '-DNDEBUG': expected a number

Error in vl_compilenn>mex_compile (line 530)
mex(mopts:) ;

Error in vl_compilenn (line 488)
      mex_compile(opts, srcsi, objfile, flags.mexcu) ;

其中我编译的 MatConvNet 版本为 MatConvNet 1.0-beta24, MATLAB 版本为 2019b,系统为 Ubuntu21.10


解决办法

修改 vl_compilenn.m 文件,修改文件中的 opts.debug 值为 true,大概在文件的一百五十行左右:

opts.debug = true;

修改后如下:

以上是关于MatConvNet编译报错:Error using mex nvcc fatal : ‘-DNDEBUG’: expected a number 解决办法的主要内容,如果未能解决你的问题,请参考以下文章