记VS2010与MATLAB混合编程遇到的一些问题
来源:互联网 发布:金山数据恢复账号 编辑:程序博客网 时间:2024/05/12 04:49
一、首先使用的是win7 ×64系统 VS2010软件和MATLAB2014b
问题:MATLAB2014b进行打包时,总是打包失败。
原因:我使用的这个MATLAB版本破解不完全,可以进一步破解然后尝试。
二、重新安装了MATLAB2015a是个破解完全的
打包的问题成功解决了。写了小的测试代码,但是在使用打包的类创建对象时,显示如下错误
首先查看是否是目标平台设置不匹配,见下面第6条 。
三、具体打包过程和解决问题如下
1. 安装好MATLAB后,还需要找到安装路径下的(我的是D:\matlab2015a\toolbox\compiler\deploy\win64)中的MCRInstaller.exe进行安装,安装之后 环境变量时自动添加的,可以查看一下,如果没有可以手动添加MCRInstaller.exe的安装路径。
2. 安装之后还需要在dos环境注册regsvr32 mwcomutil.dll(未尝试不注册是否可以)
3. 利用MATLAB2015b建立函数,保存目录尽量不要放在桌面以及路径不要使用中文
function result = mypower(x,y) %UNTITLED Summary of this function goes here % Detailed explanation goes here result=power(x,y); end4. 在matlab的主界面找到 -----> APPS-----> Library Compiler ,打包dll文件
注意c#编程需要选择.NET Assembly 然后添加刚刚写的mypower.m文件,点击Package(绿色对勾)进行打包操作。
打包结束会产生一个mypower文件夹,里面有for_redistribution,for_redistribution_files_only和for_testing子文件夹,我们需要的mypower.dll就在 for_testing文件夹中。
5. VS2010新建一个控制台的工程,在工程的引用上右键---->添加引用
选择浏览,将刚刚生成的 for_testing文件夹中的mypower.dll和D:\matlab2015a\toolbox\dotnetbuilder\bin\win64\v2.0安装目录下的MWArray.dll添加进去
6. 右键点击自己创建的c#工程,选择属性,如果是x64系统,需要修改如下(本人就是在此处出现错误),修改为目标平台x64,否则会出现,调用 MATLAB函数时参数一直不匹配。
7. 添加引用 using MathWorks.MATLAB.NET.Arrays; using MathWorks.MATLAB.NET.Utility;using mypower;
具体代码:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using MathWorks.MATLAB.NET.Arrays;using mypower;namespace Conpower{ class Program { static void Main(string[] args) { MWArray x = 2, y = 4, result = 0; Classpower po = new Classpower(); result = po.mypower(x, y); Console.WriteLine("c#和MATLAB混合编程测试函数 power(" + x+ ","+ y +")= "+result); Console.ReadKey(); } }}
8. 结果
0 0
- 记VS2010与MATLAB混合编程遇到的一些问题
- MATLAB和VS2010的混合编程需要注意的问题
- matlab 2012b与VS2010混合编程
- VS2010(用到opencv)与MATLAB混合编程问题error LNK2019
- matlab 2012 vs2010混合编程
- matlab 2012 vs2010混合编程
- matlab与VC混合编程出现的问题
- matlab与VS2010混合编程时,char16_t redefinition错误
- matlab与C混合编程调试-vs2010+matlab2012a
- MATLAB R2012a与vs2010混合编程 error LNK2019
- [转载]matlab与VS2010混合编程时,char16_t redefine
- c++与matlab混合编程,vs2010中调用.mat文件
- MATLAB R2012a与vs2010混合编程 error LNK2019
- matlab与VS2010混合编程时,char16_t redefinition错误
- matlab与VS2010混合编程时,char16_t redefinition错误
- matlab与VS2010混合编程时,char16_t redefinition错误
- MATLAB R2012a与vs2010混合编程 error LNK2019
- 64位系统在VS2010与Matlab混合编程的下的配置方法
- 7天入门php-传送会话ID
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) D. Generating Sets __ dfs+优先队列+贪心
- 单片机==独立按键-秒表(14)
- Windows7环境下CMD进行Fat32转NTFS
- Eclipse从SVN资源库中检出项目
- 记VS2010与MATLAB混合编程遇到的一些问题
- Qt简介
- shell详解七
- 剑指offer:二叉搜索树与双向链表(java)
- CentOS,添加用户到sudoers中
- 括号匹配
- 芯片是什么
- CDH集群安装&测试总结
- Java正则表达式提取字符的方法实例