由于项目原因,楼主最近在研究LDPC编码,于是上github白嫖了一套程序进行学习。
程序主体由matlab编写,部分底层代码采用C++实现,但是在运行过程中碰到了诸多问题。
在此记录问题汇总及解决方案供后来人参考。
一、未找到支持的编译器及SDK
首先在运行时由于未正确配置编译器,程序报错:
未找到支持的编译器及SDK
楼主按照提示进入mathworks官网寻求解决方案。matlab有如下控件可以选择
然而,实际安装总是有问题
于是楼主在CSDN搜索,发现了以下博客,按博主的方法,顺利解决了这一问题。
(本人matlab 2017a)
但是实际过程中tdm64-gcc下载总是有问题。
于是楼主又在CSDN搜到了以下博客,顺利下载并安装解决这一问题
- tdm64-gcc百度网盘下载 https://blog.csdn.net/u011435907/article/details/105518489
二、未定义与 ‘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编译码运行真是慢啊。。。