visual studioC#調用MATLAB生成的DLL


之前看到一個很好的博客,寫的非常清楚,但是現在找不到了~~所以就大概寫一下自己的操作過程,所以,及時寫博客記錄下來,是很有幫助的,放了一個月的假,差點忘光了。

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

2.注冊mwcomutil.dll  在cmd中輸入regsvr32 mwcomutil.dll即可(要用路徑.dll 注意用雙引號表示地址"C:\Program Files\MATLAB\R2014a\bin\win64\mwcomutil.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 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文件,才可以運行。  

 

 其實並不是很難,就是需要設置很多東西,根據問題多查,多設置,就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM