visual studioC#調用MATLAB生成的DLL

以前看到一個很好的博客,寫的很是清楚,可是如今找不到了~~因此就大概寫一下本身的操做過程,因此,及時寫博客記錄下來,是頗有幫助的,放了一個月的假,差點忘光了。redis

1.首先MATLAB要安裝MCR.Install 即MATLAB編譯器,並配置環境變量;函數

2.註冊mwcomutil.dll  在cmd中輸入regsvr32 mwcomutil.dll便可(要用路徑.dll 注意用雙引號表示地址"C:\Program Files\MATLAB\R2014a\bin\win64\mwcomutil.dll");ui

3.在MATLAB端編寫函數文件,以後在命令行窗口輸入spa

>>mbuild -setup
MBUILD 配置爲使用 'Microsoft Visual C++ 2010 (C)' 以進行 C 語言編譯。命令行

要選擇不一樣的語言,請從如下選項中選擇一種命令:
mex -setup C++ -client MBUILD
mex -setup FORTRAN -client MBUILDblog

(選擇C++)
MBUILD 配置爲使用 'Microsoft Visual C++ 2010' 以進行 C++ 語言編譯。
>> deploytoolv8

選擇Library Compliercmd

4.在窗口中進行以下選擇:編譯器

 

最後打包,這裏完成了打包工做,接下來是在C#端調用DLL文件博客

5.在visual studio中建立一控制檯程序,首先要添加兩個引用

 1)C:\Program Files\MATLAB\MATLAB Compiler Runtime\v83\toolbox\dotnetbuilder\bin\win64\v2.0\MWArray.dll

 2)  C:\Users\neu\Documents\MATLAB\myfunct\for_redistribution_files_only\myfunct.dll

                                                             myfunct是打包時起的庫的名字            myfunct.dll是打包生成的DLL文件

6.解決方案--配置管理器中,要將平臺配置與MCR版本一致,這裏是x64(不能是Any Cpu)

 

 

7.在控制檯編寫代碼,首先引入命名空間,以後就將引入的MATLAB函數看成是庫名.類名去使用便可  注意一些數據類型的轉換便可

這裏打包的.m文件,是簡單的求和函數 y=a+b;  因此輸入2 3  獲得結果爲5

 

.

8.將C:\Users\neu\Documents\Visual Studio 2010\Projects\LibMATLAB\複習調用DLL\bin\x64\Debug目錄下的應用程序 exe文件及添加的DLL文件,放在其餘計算機上,可使用  

這裏注意由於配置了平臺,因此是在x64下的exe文件,才能夠運行。  

 

 其實並非很難,就是須要設置不少東西,根據問題多查,多設置,就能夠了。

相關文章
相關標籤/搜索