【问题标题】:why does the error regarding gcc is occuring in matlab?为什么matlab中会出现关于gcc的错误?
【发布时间】:2020-04-16 03:06:30
【问题描述】:

我已经从github 下载了该代码。 每当该代码尝试检查 mexopencv(lib 文件夹内的文件)时。它在Matlab 2017a 上显示一个错误,即:

[error 3] please make sure gcc >= 4.4 g++ >= 4.4 is installed ...

我有一个 gcc 版本的8.8.0

以下是系统说明

  • 窗口 10
  • Visual Studio 2012
  • Matlab 2017a
  • opencv 2.4.10
  • mexopencv(从您的文件夹 LIB 安装)

【问题讨论】:

    标签: matlab opencv visual-studio-2012 mex


    【解决方案1】:

    您可能缺少标准库(Windows 中为 .dll,Linux 中为 .lib)。该代码是在 Linux 下开发的(帮助也仅针对 Linux 系统提供),并在 Windows 7 下进行过测试。

    该方法在 OS linux lubuntu 14.04、CPU intel i5 和 16GB 内存。本指南是在基于 linux 的发行版下编写的 范围,更准确地说是debian。不幸的是,我们缺乏经验 解决非 linux 操作系统中可能出现的错误或任何问题,我们将 仅提供有关执行问题的 linux OS 帮助,我们深表歉意。 我们在 Windows7 上测试了这段代码。我们成功安装了opencv 2.4.10 跟随本教程:[http://www.learnopencv.com/install-opencv3-on-windows/]

    这表明 mex 函数也是基于 linux 的。如果您在系统上自己编译源代码,错误应该会消失,例如使用 MinGW(也是 GCC),请参阅 here

    已编辑: README.markdown 文件(在 LIB/mexopencv-master.zip 下)为 unix(包括 ubuntu 14.04)和 Windows 系统的 openCV 和 mexopencv 函数的安装过程提供了一些指导。后者指出:

    浏览到 mexopencv 根文件夹,然后在 MATLAB 中键入以下内容 命令窗口:

    >> mexopencv.make
    

    默认情况下,mexopencv 假定 OpenCV 库安装在 C:\opencv。如果不是这种情况,请将路径指定为参数:

    >> mexopencv.make('opencv_path', 'c:\your\path\to\opencv')
    

    请注意,如果您从源代码构建 OpenCV,则此路径规范 可能无法开箱即用。您需要替换 dll 文件中的 带有新建二进制文件的 OpenCV 包。或者,您需要修改 +mexopencv/make.m 将您的 MEX 文件与库正确链接。

    要删除现有的 mexopencv 二进制文件,请使用以下命令。

    >> mexopencv.make('clean', true)
    

    它需要 Matlab (see here) 支持的标准 C++ 编译器,任何 Visual Studio 安装都应该没问题,因为推荐使用开源选项 MinGW。请记住选择正确的系统(通常是 64 位)。

    【讨论】:

    • 我使用visual studio 2012作为编译器,需要安装MinGW吗?
    • 有没有办法安装gcc>=4.4?
    • 查看 README.markdown。你需要一个标准的 C++ 编译器(VS2012 可以)。自述文件将指导您完成 openCV 的安装(您可能不需要)以及如何构建 mexopencv 文件。我将编辑答案以包含它
    • 感谢您添加编辑部分。您在编辑部分提到的命令在系统上运行良好。使用 Microsoft Visual C++ 2012 (C) 创建系统时出现问题。我遇到了与 gcc 和 g++ 命令相关的问题。系统以这种形式显示错误 ERROR: 'creating mex HOF ... Building with 'Microsoft Visual C++ 2012 (C)'。 [错误 3] 请确保已安装 gcc >= 4.4 g++ >= 4.4'
    • @TariqS 再次检查您是否拥有 Matlab 2017a,因为它是支持 Microsoft Visual C++ 2012 Professional mathworks.com/support/requirements/previous-releases.html 的最后一个版本并检查设置 mex -setup -v 以查看在 matlab 中设置使用的编译器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 2020-04-22
    相关资源
    最近更新 更多