如图更改项目属性信息
在Preprocessor Definitions中添加MATLAB_MEX_FILE的宏定义
输出文件格式
配置项目生成程序的平台位数属性
包含目录(MATLAB)\extern\include
库目录(MATLAB)\extern\lib\win64\microsoft
附加依赖项
libmx.lib;libmat.lib;libmex.lib;libeng.lib;
配置完成!
导出文件
此时打开属性会发现
编译运行,生成.mexw64文件。将该文件拷贝到Matlab的当前目录下,然后进行该模块的测试或参考下面:
MATLAB中调用
将.mexw64文件的名字视为函数名。左边是输出的参数,右边是输入的控制参数。
右键点击VS工程的名字,选择 生成。发现工程的x64->Debug文件夹下面会生成一个后缀为.mexw64的文件。
更改MATLAB的工作目录为x64->Debug文件夹(就是.mexw64所在的文件夹)。
在VS中选择 调试 选项卡,选择 附加到进程…… 选项,选择MATLAB.exe,并且在VS中设置断点。
运行MATLAB程序,即可在VS中触发断点进行联合调试。
.def编译遇到的问题
.cu文件内容
void mexFunction(){ //入口函数
}
error LNK2001: 无法解析的外部符号 Thread1
在.cu文件中的函数
static void Thread1 ( ){
}
【解决方法】
动态链接中不需要包括静态函数
指令与输出文件名“xxx”不同;忽略指令
【解决方法】
$(ProjectName) —>