#最开始尝试了MFC+matlab DLL的方法 C++还没玩通 最后还是放弃MFC了 看的经验没有给出MFC的完整程序

运行环境

MCRuntime 9.8 (MATLABR2020A)
VS2017
注:这里不是调用matlab引擎的方法 在客户机不需要安装MATLAB 只要安装配置MCR即可

MATLAB 代码(以myfit为例,程序来自亲测可行的文章)

function c = myfit(x, y, n)c=polyfit(x,y,n);
end

MATLAB生成DLL

装了VS2017 自己会识别出编译器

命令格式:mcc -B cpplib:myfit myfit.m
需要的文件 myfit.lib myfit.h myfit.dll

VS 环境设置(重要)

#这里我复制(那篇亲测可行文章的)
将前面生成的myfit.dll、myfit.h和myfit.lib三个文件拷贝到新建的C++工程目录中,并将myfit.h加入工程,并设置工程属性。
(如果使用MCR将这些改成MCR对应文件的目录即可,都是有的)
项目属性——VC++目录——包含目录:

项目属性——VC++目录——库目录:

项目属性——链接器——输入:
mclmcrrt.lib
myfit.lib(这是自己生成的)

C++代码(和matlab代码来自一个文章,这里需要读取TXT,但没有这个文件也能运行)

#include<iostream>
#include<fstream>
#include"myfit.h"
#define NUM 161
using namespace std;int main()
{if (!myfitInitialize())return -1;ifstream infile("data.txt");double x[NUM], y[NUM];for (int i = 0; i < NUM&&infile; i++){infile >> x[i] >> y[i];}infile.close();mwArray mwx(NUM, 1, mxDOUBLE_CLASS);mwArray mwy(NUM, 1, mxDOUBLE_CLASS);mwArray mwc;mwArray mwn(1, 1, mxINT32_CLASS);mwx.SetData(x, NUM);mwy.SetData(y, NUM);int n;cout << "请输入多项式拟合的阶数:";cin >> n;mwn = n;cin.get();myfit(1, mwc, mwx, mwy,mwn);double c[4];mwc.GetData(c, 4);cout << "多项式系数为:" << mwc << endl;cin.get();myfitTerminate();return 0;
}

运行结果


这里红线是MATLAB报的错 引用成功

再提一次重点文章,帮助太大了

C++调用DLL 可用,记得设置64位
MFC 还是太难 这个文章基本可以实现通用了

VS C++ 和 MCR 调用MATLAB DLL相关推荐

  1. c怎么调用matlab dll,matlab和c++调用DLL方法(最新整理)

    <matlab和c++调用DLL方法(最新整理)>由会员分享,可在线阅读,更多相关<matlab和c++调用DLL方法(最新整理)(6页珍藏版)>请在人人文库网上搜索. 1.M ...

  2. 调用matlab dll报错,c#调用MATLAB的dll时出错

    MATLAB是2014a,VS是2013的. 在C#中调用matlab生成的dll文件时,ceshi.Class1 yaoyi = new Class1();  对类进行实例时,抛出异常.异常为: 未 ...

  3. cvi调用matlab dll,cvi通过artix调用matlab

    [实例简介] cvi通过artix调用matlab,官方例程改的,不过官方例程一般人运行不起来,因为库不匹配,这个是matlab2015b32位和cvi2017的 [实例截图] [核心代码] f403 ...

  4. C++调用matlab dll报错:Invalid input:Null runtime instance

    一.报错截图如下: 二.操作过程如下: 1.先是使用vs2015打开了vs2017的C++工程,编译运行后没有异常出现: 2.后再用vs2017打开工程,执行调用matlab的函数时报如上错误. 三. ...

  5. C++调用matlab dll

    1. 编写matlab函数 2.  命令行输入 mex -setup 选择 mex -setup C++ 3. 命令行输入 mbuild -setup 选择 mex -setup C++ -clien ...

  6. matlab dll没有头文件,matlab调用dll没有头文件怎么办

    2018-12-08 回答 基于dll形式vc调用matlab函数方法 如果在一matlab中或vc中写好了函数的话,想在对方的环境中使用,直接将对方语言的函数编译成dll是一个很方便的方法,不需要重 ...

  7. vs2008中调用matlab生成的dll

    vs2008中调用matlab生成的dll matlab版本为:matlab7.11.0(R2010b) vs2008 1.在matlab中生成dll 在m文件中实现如下功能: 获得N个魔方矩阵的秩. ...

  8. opencv通过dll调用matlab函数,图片作为参数

    [blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数                   前文介绍了如何"csharp通过dll调用opencv函数,图片作为参数 ...

  9. Qt调用Matlab库C#库dll调用C++调用C#库CSharp库lib invoke matlab library .net donet netframework

    Qt调用Matlab库C#库dll调用C++调用C#库CSharp库lib invoke matlab library .net donet netframework 该文章是一篇说明c++/Qt调用 ...

最新文章

  1. AI突破难题才能预见未来
  2. Inception SQL审核注解
  3. php权限二进制,PHP_二进制交叉权限微型php类分享,靓点:1、多对多交叉场景分配 - phpStudy...
  4. MongoRepository findById方法使用示例
  5. 史上最强福利,阿里云半价+Plesk免费2万台速抢!
  6. Java web登录拦截器_SpringMVC拦截器(实现登录验证拦截器)
  7. c++ 凸包 分治算法_三维凸包
  8. lintcode: 跳跃游戏 II
  9. GaiGai----1
  10. 苹果手机处理器_全球最强手机处理器诞生!苹果A14主频首超3GHz:性能秒杀华为/高通...
  11. AspectJ——预编译方式实现AOP
  12. 如何在 Mac 上查找和管理 Safari 下载?
  13. 明翰英国硕士常见词汇与固定搭配V1.2(持续更新)
  14. FP-growth算法,fpgrowth算法详解
  15. 基于RS的沈阳土地利用情况
  16. python词性标注_Python词性标注HMM+viterbi实现
  17. 怎样修改linux(虚拟机)系统开机密码
  18. 微服务[学成在线] day13:使用FFmpeg进行格式转换以及m3u8文件生成、文件分块上传接口实现
  19. 利用ajax从jsp中返回的字符串时出现回车符号解决办法
  20. 抖音商务团队三面java_腾讯抖音iOS岗位三面面经

热门文章

  1. 前端学习CSS篇(三)
  2. 信息学奥赛一本通|1309:【例1.6】回文数(Noip1999)
  3. VGGNet结构分析
  4. 常见的操作系统面试题
  5. sin和soi区别_FinFET和FD SOI的比较?
  6. 地理空间技术改变世界的未来
  7. git master、origin master 与 origin/master 的区别
  8. HDU-5197-beautiful number(数位DP)
  9. HTTP 请求方法(GET、POST 和 PUT)
  10. Vue源码解读一:Vue数据响应式原理