MATLAB(R2012b)生成64位的.NET Assembly dll

来源:互联网 发布:淘宝外观专利侵权 编辑:程序博客网 时间:2024/06/05 12:25
  • 问题提出
    在开发图形图像处理的项目的时候,使用到了Matlab的算法,但是MATLAB(R2012b)只能自动生成32位的dll,如果想使用64位的就只能自己手动来解决了。
  • 解决方法
    1、环境配置:vs2015(64位)+ Matlab2012b(64位)+ win7(64位)
    2、定义Matlab文件,如:reStoration.m
    具体内容可以根据项目需求来写,这里就略过了。
    3、设置Matlab编译器,用于编译dll
    (1) 在Command Window里输入“deploytool”并回车来创建project
    这里写图片描述
    (2) 在弹出的Development Project窗口上选择.NET Assembly类型
    这里写图片描述
    (3) 把reStoration.m文件添加到make_x64_dll.prj中
    这里写图片描述
    (4) 在设置Project Setting窗口中把”Embed CTF archive into the Application”的勾选去掉,目的是将.ctf文件生成出来,在后续的手动编译命令里会用到该文件。
    这里写图片描述
    (5) 点击“build”按钮进行编译
    这里写图片描述
    (6) 编译完成后,会生成如下的文件,然后点击“Save to log file”将保存日志文件。
    这里写图片描述
    注:此时生成的make_x64_dll.dll是32位,并非64位
    (7) 打开上一步中保存的日志文件,并搜索“Executing command:”关键字,将该行的内容拷贝出来,然后指定[/platform:”x64”],在cmd命令窗口重新build就会生成64位的dll了。具体命令如下:
    这里写图片描述
    (8) OK,大功告成,在D:\00_work\05_Task\make_x64_dll_use_matlab\reStorationTest\make_x64_dll\src目录下生成了我们想要的64位dll。
0 0
原创粉丝点击