matlab调用C++问题汇总及解决方案

时间:2024-03-28 07:39:23

由于项目原因,楼主最近在研究LDPC编码,于是上github白嫖了一套程序进行学习。
程序主体由matlab编写,部分底层代码采用C++实现,但是在运行过程中碰到了诸多问题。
在此记录问题汇总及解决方案供后来人参考。

一、未找到支持的编译器及SDK

首先在运行时由于未正确配置编译器,程序报错:

未找到支持的编译器及SDK

matlab调用C++问题汇总及解决方案

楼主按照提示进入mathworks官网寻求解决方案。matlab有如下控件可以选择
matlab调用C++问题汇总及解决方案
然而,实际安装总是有问题
matlab调用C++问题汇总及解决方案

于是楼主在CSDN搜索,发现了以下博客,按博主的方法,顺利解决了这一问题。
(本人matlab 2017a)

但是实际过程中tdm64-gcc下载总是有问题。
matlab调用C++问题汇总及解决方案
于是楼主又在CSDN搜到了以下博客,顺利下载并安装解决这一问题

二、未定义与 ‘double’ 类型的输入参数相对应的函数…

在解决上一问题后,楼主程序运行过程中又遇到了如下问题

未定义与 ‘double’ 类型的输入参数相对应的函数

由于mex XXX.c已经生成了XXX.mexw64文件,初步认为是程序调用出了问题。
于是恶补了以下博客的基础知识,然而程序依旧报错,无法识别.c编译后的程序。

  • Matlab中调用C函数(方法及实例)

https://blog.csdn.net/weixin_45926367/article/details/103593087

  • MATLAB学习(五)MATLAB中调用C语言函数

https://blog.csdn.net/u011511601/article/details/70574166

  • MATLAB中调用c++程序(函数)

https://blog.csdn.net/m0_37407756/article/details/70207896

就在楼主百思不得其解的时候,楼主想到要不要给文件换个名字。。
于是将.c文件命名成所要调用的函数名。
结果这下子程序终于开始运行了。直到写到这里,程序还在运行中。。。
不得不说LDPC编译码运行真是慢啊。。。