How can I get a m file from a cpp file?
이전 댓글 표시
/*
Copyright (C) 2004 Caltech
Written by Lexing Ying
*/
#include "mex.h"
#include "matrix.h"
#include "fdct_wrapping.hpp"
#include "mexaux.hpp"
using namespace std;
using namespace fdct_wrapping_ns;
//digital curvelet transform
extern void _main();
void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
if(nrhs!=6)
mexErrMsgTxt("6 inputs required");
if(nlhs!=1)
mexErrMsgTxt("1 outputs required");
int m; mex2cpp(prhs[0], m);
int n; mex2cpp(prhs[1], n);
int nbscales; mex2cpp(prhs[2], nbscales);
int nbangles_coarse; mex2cpp(prhs[3], nbangles_coarse);
int allcurvelets; mex2cpp(prhs[4], allcurvelets);
CpxNumMat x; mex2cpp(prhs[5], x);
vector< vector<CpxNumMat> > c; //vector<int> extra;
fdct_wrapping(m, n, nbscales, nbangles_coarse, allcurvelets, x, c);
cpp2mex(c, plhs[0]);
return;
}
댓글 수: 1
Chengli Yang
2017년 1월 20일
i have also met this problem. MinGW64 Compiler (C++) with error: lack of header C++ file 'fftw.h'. if you have solved it, please tell me. thanks
답변 (2개)
Hugo Ochoa
2016년 7월 4일
편집: Walter Roberson
2016년 7월 4일
댓글 수: 3
Walter Roberson
2016년 7월 4일
options.n = n;
looks like it might be the only mandatory option.
Hugo Ochoa
2016년 7월 4일
편집: Walter Roberson
2016년 7월 4일
Walter Roberson
2016년 7월 4일
No, the file https://www.mathworks.com/matlabcentral/fileexchange/5104-toolbox-wavelets/content/toolbox_wavelets/perform_curvelet_transform.m includes the source for fdct_wrapping and its inverse right there, without invoking any mex function for it.
I could not compile the c files in curvelab
You should have asked directly about that.
Which MATLAB version do you have? Which operating system do you have? Which compiler(s) do you have installed? What result do you see for
mex -v -setup
?
카테고리
도움말 센터 및 File Exchange에서 Write C Functions Callable from MATLAB (MEX Files)에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!