Mex compilation macro

Mex compilation macro

本文关键字:macro compilation Mex      更新时间:2023-10-16

只有当我的代码通过Matlab中的mex命令编译时,我才希望包含特定的头文件。如果它是直接用Visual Studio编译的,我不希望它包含在内。

有没有一个宏可以帮助做到这一点?

我想做这样的事情:

#ifdef MEX_COMPILE_FLAG
#include "mexDependent.h"
#end

您可以为此使用宏MATLAB_MEX_FILE。若要使mex.h正常工作,必须定义此宏,前提是编译的对象最终将链接到mex文件中。因此,mex命令确保在调用编译器时始终定义它。

您可以手动执行此操作:

mex -DMEX_COMPILE_FLAG ...

据我所知,mex只是调用其他编译器,而没有可靠地设置预处理器宏。但是,如果您的Matlab构建脚本确实设置了MEX_COMPILE_FLAG,那么您的提案将起作用,只是#end需要是#endif