只有当我的代码是通过Matlab中的mex命令编译时,我才希望包含一个特定的头文件。如果它是直接用Visual编译的,我不希望它包括在内。
是否有一个宏可以对此有所帮助?
我想做这样的事:
#ifdef MEX_COMPILE_FLAG
#include "mexDependent.h"
#end发布于 2013-07-31 13:13:19
您可以为此使用宏MATLAB_MEX_FILE。要使mex.h正常工作,必须在编译后的对象最终被链接到mex文件的情况下才定义这个宏。因此,mex命令确保在调用编译器时始终定义它。
发布于 2013-07-31 12:47:07
您可以手动完成此操作:
mex -DMEX_COMPILE_FLAG ...发布于 2013-07-31 12:48:58
据我所知,mex只是调用其他编译器,而没有可靠地设置预处理器宏。但是,如果您的Matlab确实设置了MEX_COMPILE_FLAG,那么您的建议将有效,但#end需要是#endif。
https://stackoverflow.com/questions/17970678
复制相似问题