Problem in using the "-g" option of mex

1 回表示 (過去 30 日間)
AP
AP 2014 年 6 月 10 日
回答済み: Dekun Pei 2014 年 6 月 16 日
I have written a MEX file which is successfully built by:
mex -v mymex.cpp
However, when I want to add the debug information using:
mex -v -g mymex.cpp
I get the following error
mymex.cpp(28) : fatal error C1083: Cannot open include file: 'mkl.h': Invalid argument
Could someone help me why mex cannot find mkl.h when I am using -g while it works perfectly when -g is not used? I need to do this to be able to debug my mex code. All the necessary header and library files are accurately defined in mexopts.bat. I don't know why these options does not work for mex -g and does work when I am not using -g option.
  2 件のコメント
Kaustubha Govind
Kaustubha Govind 2014 年 6 月 10 日
Is mkl.h included only for debug builds via a pre-processor macro like NDEBUG?
AP
AP 2014 年 6 月 10 日
編集済み: AP 2014 年 6 月 10 日
I simply used #include "mkl.h" in my Mex code. "mkl.h" is the math kernel library provided by Intel. When I put the header file in the directory of the Mex file it does not complain. I have many header files from different software in my Mex file.

サインインしてコメントする。

採用された回答

Dekun Pei
Dekun Pei 2014 年 6 月 16 日
Can you provide the compiler you are using the full verbose output by passing "-v" to mex. My guess is the directory containing mkl.h is not being passed as a include library directory. If your know where the header file is located, try manually pass it to mex with the "-I" flag such as :
mex -v -g mymex.cpp -I<header_directory>
Note that there is NO space between -I and the header directory you will provide. Also, if the directory has a space in it, you have to enclose it in single quotes.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWrite 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!

Translated by