当前位置 博文首页 > 不要Q晓航好嘛的博客:MATLAB中的mex编译错误处理办法及Ubuntu中

    不要Q晓航好嘛的博客:MATLAB中的mex编译错误处理办法及Ubuntu中

    作者:[db:作者] 时间:2021-07-14 15:35

    一、MATLAB中使用mex报错及GCC的安装多种问题的解决。

    当我运行我的程序的时候,发现下图中的“model” have not defne。(未定义)
    在这里插入图片描述
    查阅若干资料,走了不少弯路,才发现原来是mex文件未编译。
    接下来,编译mex文件,输入:mex -setup在这里插入图片描述
    发现又报错:“No supported compiler or SDK was found.”

    打开百度开始浏览各种各样,眼花缭乱的方法…其实,只需要下载支持的编译器(supported compiler )或者SDK。

    在这里,因为我是linux中ubuntu的matlab,所以只需要安装GCC即可。

    步骤如下:

    方法一:sudo apt-get build-dep gcc

    sudo apt-get  build-dep  gcc  
    

    上面这个方法用了之后,会出现下面这种情况:

    Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

    输入命令:

    sudo rm /var/lib/dpkg/lock
    sudo dpkg --configure -a
    

    在运行刚开始的命令,会出现下面这种情况:

    Unable to locate package
    执行:

    sudo apt-get update
    

    开始安装…中途可能因为网络或其他冲突的缘故,报错:

    ubuntu apt-get (You must put some ‘source’ URIs in your sources.list)
    E: You must put some ‘source’ URIs in your sources.list

    解决措施:

    sudo vi /etc/apt/sources.list
    

    打开一个可编辑器,输入:
    复制代码

    deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
    deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
    deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
    deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
    deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
    deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties
    

    复制代码
    按Esc,输入:wq,再输入命令:

    sudo apt-get update
    

    若以上复制内容出现错误:“E45: ‘readonly’ option is set (add!to override)”

    其实这是权限造成的,文件设置成了只读权限,众所周知,只读文件修改前需要执行sudo,但是已经修改了,如何强制保存呢?技术宅告诉你!只需要保存的时候执行如下命令:

    :wq!以上命令是强制保存退出,然后就可以了!

    再尝试运行sudo apt-get build-dep gcc ,还是失败。

    方法二:输入命令:sudo apt-get install build-essential

    sudo apt-get  install  build-essential
    

    开始安装,成功。

    Windows的matlab中mex编译失败,就直接进入https://ww2.mathworks.cn/support/requirements/supported-compilers.html下载对应matlab版本的MinGW 6.3 C/C++即可。

    最后进入MTALAB,输入mex -setup

    在这里插入图片描述
    选择第一个即可完成。
    提一个问题待解决:训练一个决策树,用随机森林分类器来对输入的图像进行特征提取,并输出频率图像???

    cs