Matlab|mex编写c程序报错解决方案

2021-04-22 15:40:16 浏览数 (1)

《Matlab实践》专栏·第1篇

| Researcher

560字 |2分钟阅读


一篇论文的代码用到了Matlab和C的混合编程。我在用mex对c程序编译的时候报错了。

问题描述:

代码语言:javascript复制
mex -setup
错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C   编译器

解决方案:

第一步:安装MinGW-w64。打开Matalab,找到主页-附加功能,点击进入,搜索MinGW-w64。如下图所示:

我已经安装好了。若是第一次安装,需要你输入账号和密码,若是没有,可以直接注册一个,非常简单。

第二步:重新测试mex

代码语言:javascript复制
mex -setup

第三步:进入到c程序的位置下,对c程序编译即可。

因为我是Win10系统,在编译c程序的时候,这个代码报了一个错误。

错误描述:

代码语言:javascript复制
error: unknown type name 'int64_t'

解决方案:

在c程序的添加,添加如下语句

代码语言:javascript复制
#include <stdint.h>

第四步:重新编译,编译成功后会在当前文件夹生成一个mexw64文件

第五步:直接在脚本文件或者命令行调用即可

参考资料:

1 https://zhuanlan.zhihu.com/p/148539143

2 https://blog.csdn.net/qq_32811489/article/details/89684187

0 人点赞