zoukankan      html  css  js  c++  java
  • visual studioC#调用MATLAB生成的DLL

    之前看到一个很好的博客,写的非常清楚,但是现在找不到了~~所以就大概写一下自己的操作过程,所以,及时写博客记录下来,是很有帮助的,放了一个月的假,差点忘光了。

    1.首先MATLAB要安装MCR.Install 即MATLAB编译器,并配置环境变量;

    2.注册mwcomutil.dll  在cmd中输入regsvr32 mwcomutil.dll即可(要用路径.dll 注意用双引号表示地址"C:Program FilesMATLABR2014ainwin64mwcomutil.dll");

    3.在MATLAB端编写函数文件,之后在命令行窗口输入

    >>mbuild -setup
    MBUILD 配置为使用 'Microsoft Visual C++ 2010 (C)' 以进行 C 语言编译。

    要选择不同的语言,请从以下选项中选择一种命令:
    mex -setup C++ -client MBUILD
    mex -setup FORTRAN -client MBUILD

    (选择C++)
    MBUILD 配置为使用 'Microsoft Visual C++ 2010' 以进行 C++ 语言编译。
    >> deploytool

    选择Library Complier

    4.在窗口中进行如下选择:

    最后打包,这里完成了打包工作,接下来是在C#端调用DLL文件

    5.在visual studio中创建一控制台程序,首先要添加两个引用

     1)C:Program FilesMATLABMATLAB Compiler Runtimev83 oolboxdotnetbuilderinwin64v2.0MWArray.dll

     2)  C:Users euDocumentsMATLABmyfunctfor_redistribution_files_onlymyfunct.dll

                                                                 myfunct是打包时起的库的名字            myfunct.dll是打包生成的DLL文件

    6.解决方案--配置管理器中,要将平台配置与MCR版本一致,这里是x64(不能是Any Cpu)

     

    7.在控制台编写代码,首先引入命名空间,之后就将引入的MATLAB函数当作是库名.类名去使用即可  注意一些数据类型的转换即可

    这里打包的.m文件,是简单的求和函数 y=a+b;  所以输入2 3  得到结果为5

    .

    8.将C:Users euDocumentsVisual Studio 2010ProjectsLibMATLAB复习调用DLLinx64Debug目录下的应用程序 exe文件及添加的DLL文件,放在其他计算机上,可以使用  

    这里注意因为配置了平台,所以是在x64下的exe文件,才可以运行。  

     其实并不是很难,就是需要设置很多东西,根据问题多查,多设置,就可以了。

  • 相关阅读:
    同步内核缓冲区sync、fsync和fdatasync函数
    HDU 1496 Train Problem I 火车问题1(桟,水)
    HDU 1496 Equations 等式(二分+暴力,技巧)
    HDU 2577 How to Type (DP,经典)
    HDU 1247 Hat’s Words (字符串匹配,暴力)
    HDU 1548 A strange lift 奇怪的电梯(BFS,水)
    HDU 1711 Number Sequence (数字KMP,变形)
    204 Count Primes 计数质数
    203 Remove Linked List Elements 删除链表中的元素
    202 Happy Number 快乐数
  • 原文地址:https://www.cnblogs.com/1987-05-04/p/7508736.html
Copyright © 2011-2022 走看看