MATLAB算法(函数)编译为C++动态库遇到的问题

今天在编译MATLAB函数为C++的动态链接库时遇到了几个问题,在网上搜索了很多资料都没有解决我遇到的问题,特此分享出来供大家参考。

  1. 环境: Windows 10、VS2015企业版、Matlab2014b;
  2. 示例: 首先我通过一个简单的求和算法(函数)作为示例进行演示;

下面就通过图片展示我写的示例算法:

上图为一个简单的累加求和函数。将上面的函数保存后在命令窗口运行一下命令:
mbuild -setup
出现上图等类似错误时说明你的matlab没有找到对应的编译器(由于我的错误已经解决,这个图截自网络,正常在matlab中报错为红色字体。)

通过查阅别人的经验资料发现需要安装INSTALLING THE WINDOWS SDK 7.1,由于我的系统是Windows10,所以提示安装失败,原因是我的系统中已经有更高的版本。

原因分析: 由于我在这台电脑上安装多多次VS,且安装位置到不同,导致MATLAB无法找到编译器,通过查看我的系统变量发现VS120COMNTOOLS这一项的变量名的变量值还是默认安装路劲(C盘中的路径),当前我的VS的安装路劲是D盘,所以找到D盘中的D:\Microsoft Visual Studio 14.0\Common7\Tool\路径替换掉之前的路径即可。

然后重启MATLAB输入命令mbuild -setup后显示:

选择第一项后接着输入命令deploytool:

选择Library Compiler后会弹出界面:

按照步骤设置完毕后点击Package即可,此时弹出打包界面:

如果界面出现这个问题,说明你的MATLAB可能破解的不完全,最好安装一个英文版的再次尝试即可。

如果一切正常会出现以下界面:

生成成功后在你的MATLAB目录下就可以找到生成好的库文件和头文件了。

MATLAB算法(函数)编译为C++动态库遇到的问题相关推荐

  1. ViSP安装之Windows系统基于VS2019编译器编译获得VISP动态库

    Windows系统基于VS2019编译器编译获得VISP动态库 官网地址: Installation from source for Windows with Visual C++ 2019 (vc1 ...

  2. 【Android 逆向】函数拦截实例 ( 函数拦截流程 | ① 定位动态库及函数位置 )

    文章目录 一.函数拦截流程 二.定位动态库及函数位置 一.函数拦截流程 函数拦截流程 : 定位动态库及函数位置 : 获取该动态库在内存中的位置 , 以便于 查找函数位置 ; 插桩 : 在函数的入口处插 ...

  3. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 系统中调试器进程内存流程 | 编译内存调试动态库以及调试程序 )

    文章目录 一.Android 系统中调试器进程内存流程 二.编译内存调试动态库以及调试程序 三.博客资源 一.Android 系统中调试器进程内存流程 修改游戏运行中的内存 , 游戏运行之后 , 游戏 ...

  4. 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )

    文章目录 一.加密解密算法 API 二.编译代理 Application 依赖库 三.解压代理 Application 依赖库 aar 文件 参考博客 : [Android 安全]DEX 加密 ( 常 ...

  5. FFmpeg编译成Android动态库

    项目需要,网上也有现成的FFmpeg Android动态库,但是本着亲力亲为的宗旨,做了不断地尝试,最终也是成功了,在此做一个笔记,以备日后查阅. 附上给我帮助的资料链接: 王英豪大神的博客 雷霄骅大 ...

  6. so库调用java函数_linux下so动态库调用主程序函数

    linux下动态库 今天无意间发现在linux下share object(dynamic library)中的函数竟然可以不通过回调的方式直接访问主程序中的函数,瞬间颠覆以前对于动态库的观念. 1.如 ...

  7. mac java jni_Mac OS上编译JNI的动态库

    JNI是Java Native Interface的缩写,是为了在Java上能够调用本地语言尤其是C和c++设计的. 下面就看下如何在Mac OS上面如何使用JNI的调用C语言. 编写Java类 先定 ...

  8. 调用opensmile编译的DLL动态库API进行声音特征提取

    目录 一.opensmlie : 二.SMILEapi调用方式. 1.创建实例 2.初始化. 3.设置回调 4.写音频数据. 5.配置文件改动 三.详细代码: 最近尝试使用opensmile进行声音特 ...

  9. 编译c语言动态库,使用gcc、g++编译C/C++源程序,静态库和动态库创建方式

    后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序: 后缀为.cpp的,两者都会认为是c++程序. 注意,虽然c++是c的超集,但是两者对语法的要求是有区别的. 编译阶段,g++会调用gc ...

最新文章

  1. CentOS全局配置JAVA环境变量,实现多个tomcat共用环境变量,不用再一个个tomcat配置
  2. Spring Boot 2.x整合Quartz
  3. Answer:关于C#连续赋值的面试题
  4. 服务器信号分析,服务器及其讯号解析装置 Server and its signal analysis apparatus
  5. cnblogs.com精华收藏帖
  6. php遍历数组的四种方法,PHP遍历数组的常见几种方法
  7. 在线分流框架下的AB Test
  8. 二进制算法问题解析——1000瓶药水,1瓶有毒药,几只小白鼠能够找出?
  9. 推荐 10 个实用但偏执的 Java 编程技巧
  10. 【乐理学习】音程 升降调 力度标记
  11. 小米6刷MIUI12.5(miui12.5)超级详细教程
  12. 阿里云倒逼亚马逊提高市场竞争?AWS CEO安迪·贾西谈量子计算与AI
  13. Android修行手册 - 实现可折叠TextView,仅一个类复制即用
  14. 常见安全设备总结(IDS、IPS、上网行为管理、网闸、漏扫、日志审计、数据库审计、堡垒机等)
  15. 从零开始玩单反 相机参数之光圈/快门篇(转)
  16. 【算法】Sky Map
  17. ansible常用模块应用
  18. 金发男孩 fair-haired boy
  19. BOM——浏览器对象模型(1)
  20. 小程序直播 OBS 画质_直播带货小程序系统

热门文章

  1. python小课文件_[Python]小甲鱼Python视频第028课(文件:因为懂你,所以永恒)课后题及参考解8...
  2. UPS蓄电池的内阻没有参考值,如何才能发现劣化蓄电池?
  3. 双活数据中心技术架构(PDF版)
  4. 路由表及路由的选择算法
  5. 第001期:数据中心知识问答
  6. 图解机房空调制冷系统
  7. 大型数据中心蓄电池规划与应用中的痛点及展望
  8. python输入两个变量的值、输出大的_Python 变量和输入输出 关卡二
  9. python文件处理,python文件处理
  10. matlab文件读写监听,matlab对文件的读写