matlab mex 编译C sparsenet库

这段时间,同实验室师姐用稀疏编码sparsenet做实验,在官网有标准的linux版本
window版本为一位大牛做的,但是下载下来,为dll文件,早期版本的matlab可以打开,但是谁还用那么老的….
查看了makefile文件,发现用mex编译
上网查了资料,https://blog.csdn.net/ayw_hehe/article/details/6821225

碰到使用matlab编译c文件时,有时会遇到C文件调用别的C文件里的函数,(当然都是按照matlab格式写好了mexfunction),想要编译这个C文件的方法也很简单,比如说A.c调用B.c,直接将B.c放在A.c后面就可以了 如: mex A.c B.c (-g)

直接说做法:
1.新建一个文件夹,将nrf中的.c文件和sparsenet中的.c全部文件拷贝进去
2.将matlab路径设置在这里
3.执行 mex -v -I./ cgf.c frprmn.c linmin.c brent.c mnbrak.c nrutil.c
4.就可以看到,生成的cgf.mexw64,用来调用
这里写图片描述 5. 将cgf.mexw64,拷贝出去供调用