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