2
我有文件mx_minimum_power.cpp
在以下目录中,我想包括在以下目录cpp文件如何添加相对于当前文件的头文件路径?
D:\thesis library.Data\ALOS-PALSAR 12x2\San Francisco L 12x2
和14头文件:
D:\thesis library.Data\ALOS-PALSAR 12x2\San Francisco L 12x2\Eigen\Eigenvalues
所以这些.h
的相对路径关于我的.cpp
文件的文件是\Eigen\Eigenvalues
如何包含所有这些头文件的相对路径。
我迄今所做的:
#include <math.h>
#include <complex>
#include <iostream>
#include "mex.h"
#include "matrix.h"
#include "\Eigen\Eigenvalues"
using std::complex;
using std::cout;
using std::endl;
using namespace Eigen;
/* The gateway function */
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *arraysizePtr = NULL;
arraysizePtr = mxGetPr(prhs[9]);
const int arraysize = (int)*arraysizePtr;
const int matrixDimention = 3;
}
,但是当我在Matlab为了建立.mexw64
文件运行以下命令:
mex -g mx_minimum_power.cpp
我得到的错误:
Building with 'Microsoft Visual C++ 2013 Professional'.
Error using mex
mx_minimum_power.cpp
D:\thesis library.Data\ALOS-PALSAR 12x2\San Francisco L 12x2\mx_minimum_power.cpp(6) : fatal
error C1083: Cannot open include file: '\Eigen\Eigenvalues': No such file or directory
您应该手动包含所有头文件,例如#include“Eigen \ Eigenvalues \ header.h”'或考虑这个问题的技巧 - http://stackoverflow.com/questions/3061582/include-all-files-in-a-directory –
我可能在少数,但我认为'#include'指令中的路径是一个坏主意。如果我有时间,我会尝试从试图在遗留代码中解决这些问题的人中找到一些问题。 – Beta
'#include“\ Eigen \ Eigenvalues''表示在名为'Eigen'的文件夹中查找文件'Eigenvalues',该文件夹位于代码所在驱动器的根目录下。在这种情况下,它正在查找文件'D :\征\ Eigenvalues' – drescherjm