C++调用matlab dll

1. 编写matlab函数

2.  命令行输入

 mex -setup

选择 mex -setup C++ 

3. 命令行输入

mbuild -setup

选择 mex -setup C++ -client MBUILD 

4. 命令行输入

mcc -W cpplib:add -T link:lib add.m -C

第一个add为生成的dll名称,第二个add为m文件名称,m文件名称需要和m文件里面函数名称一致,如果用Add这样的

大写开头名称,会出现生成的C++头文件函数名为add,与m文件中的函数名Add名称不一致,C++调用会报错,所以

干脆都用小写名称就得了。

5. 新建win32工程,导入matlab头文件路径和库文件路径

头文件路径  MATLAB\R2018a\extern\include

库文件路径  MATLAB\R2018a\extern\lib\win64\microsoft

7. 将生成的h文件和lib文件导入工程

8.编写下面测试代码验证

#include <iostream>
#include "add.h"
#pragma comment (lib,"add.lib")int main()
{if (!addInitialize()){std::cout << "AddInitialize failed" << std::endl;}mwArray a(1, 1, mxDOUBLE_CLASS);a(1) = 16;mwArray b(1, 1, mxDOUBLE_CLASS);b(1) = 8;mwArray z(1, 1, mxDOUBLE_CLASS);z(1) = 19;add(1, z, a, b);std::cout << a << "+" << b << "=" << z << std::endl;addTerminate();system("pause");
}

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rapidxml在qt linux(gcc)下写xml文件出错

在linux&#xff08;gcc&#xff09;下使用qt写入xml出错&#xff0c;代码如下&#xff1a; 错误如图&#xff1a;这里写图片描述 在网上找了好久没有找到答案&#xff0c;最后在http://stackoverflow.com/questions/14113923/rapidxml-print-header-has-undefined-methods找到…

SCRUM 12.03

第二轮迭代从今天起正式开始了。12月3日&#xff0c;我们举行了一次组会。 第一轮迭代结束时&#xff0c;我们意识到第二轮迭代需要实现的功能主要如下&#xff1a; 在下次迭代的时候实现对多个网站的信息进行比较取最优惠的选择&#xff0c;目前我们劲针对了一个网站的信息进行…

swift UIActivityIndicatorView

// // ActivityIndicatorViewController.swift // UIControlDemo // // Created by on 14/12/1. // Copyright (c) 2014年 马大哈. All rights reserved. // import UIKit class ActivityIndicatorViewController: BaseViewController { var waitActivity:UIActivityIndi…

UE4打包后如何调试

在项目打包后发现有一个数组越界问题&#xff0c;然而无论是 Play in Editor或是 VS选为DebugGame后启动&#xff0c;游戏都没有任何问题&#xff0c;越界问题只在打包后出现。这里记录一下自己的Debug方法。 首先将项目以DebugGame配置打包&#xff1a; 更改打包配置&#xff…

Win7下安装配置gVim

本文根据vim官网的《Simple Steps to Help You Install gVim on Windows 7》【1】一文整理而成。 1. 下载gVim 在http://www.vim.org/download.php/pc 下找到“PC: MS-DOS and MS-Windows”&#xff0c;下载“gvim74.exe”【2】。 2. 安装gVim 1. 安装时可以选择更改目录&#…

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布 原文:ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布本篇文章将阐述首次使用 ActiveReports 报表控件 的方法&#xff0c;包括添加报表文件、绑定数据源以及如何发布报表等内…

笔记本多硬盘win7下U盘安装Cnetos7引导问题!

CentOS7出来的时间已经不算短了&#xff0c;前段时间一直在虚拟机上使用&#xff0c;最近闲下来了&#xff0c;就像在自己的笔记本上装一个win7和Centos7的双系统体验以下实体机的效果&#xff0c;几经波折之后终于顺利的装上了WIN7和CentOS7的双系统&#xff01;在这里主要是想…

Linux Apache php MySQL 安装配置(Centos 6.4 yum安装)

一、yum准备 1.Yum&#xff08;全称为 Yellow dog Updater, Modified&#xff09;是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。 基于RPM包管理&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安…

公司用章知识

最近在走公司的财务报销流程&#xff0c;了解公司财务运作过程中的一些用到的章&#xff0c;现在把公司用章之类的知识点搜集起来&#xff0c;汇总在这里&#xff0c;留以备用。 了解总喜欢刨根问底&#xff0c;那就开始刨起来。 印章的历史 印章是融合了雕刻、书法和绘画等多种…

可变参数模板

【导读】&#xff1a;C 可变参数模板对参数进行了高度泛化&#xff0c;它能表示0到任意个数、任意类型的参数。相比C98/03&#xff0c;类模版和函数模版中只能含固定数量的模版参数&#xff0c;可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象&#xff0c;使用…

【LeetCode】44. Wildcard Matching (2 solutions)

Wildcard Matching Implement wildcard pattern matching with support for ? and *. ? Matches any single character. * Matches any sequence of characters (including the empty sequence).The matching should cover the entire input string (not partial).The functi…

ANTLR 4(一)Getting Started

1. 配置java环境 安装jdk1.7以上版本&#xff0c;我装的是“jdk-8u181-windows-x64.exe”。 设置 “C:\Program Files\Java\jdk1.8.0_181\bin" 到path环境变量。 设置 "C:\Program Files\Java\jdk1.8.0_181" 到 JAVA_HOME 环境变量。 设置 "%JAVA_HOME%\l…

【iOS】Quartz2D图片剪切

一、使用Quartz2D完成图片剪切1.把图片显示在自定义的view中  先把图片绘制到view上。按照原始大小&#xff0c;把图片绘制到一个点上。  代码&#xff1a; 1 - (void)drawRect:(CGRect)rect 2 { 3 UIImage *image2[UIImage imageNamed:"me"]; 4 [image2…

InstallShield 2020

1.新建工程&#xff1a;HOME-New-Basic MSI 2.Gereral Information设置&#xff08;根据需求自行设置&#xff0c;例如下图&#xff09; 3.Files and Folders设置 a.将需打包工程拖拽至下方目标文件夹内 b.创建新的Feature c.设置结果如下 4.Shortcuts设置 a.Desktop右键-New…

iOS项目开发— CoreLocation的定位服务和地理编码与发编码实现

一、CoreLocation简介 1.在移动互联网时代&#xff0c;移动app能解决用户的很多生活琐事&#xff0c;比如 &#xff08;1&#xff09;导航&#xff1a;去任意陌生的地方 &#xff08;2&#xff09;周边&#xff1a;找餐馆、找酒店、找银行、找电影院 2.在上述应用中&#xff0c…

OpenGL-坐标系

笛卡尔坐标系 二维绘图&#xff1a;笛卡尔坐标有一个X轴和一个Y轴组成&#xff0c;X轴为水平方向&#xff0c;Y轴为垂直方向&#xff0c;X和Y相互垂直二维笛卡尔坐标系 三维绘图&#xff1a;笛卡尔坐标多了一个Z轴&#xff0c;Z轴同时垂直于X和Y轴。Z轴的实际意义代表着三维物…

UML类图与类间六种关系表示

1.类与类图 类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性,操作,关系的对象集合的总称. 类图是使用频率最高的UML图之一. 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助开发人员理解系统,它是系统分析和设计阶段的重要产物,也是系统编码和测试…

PlacementBrowser源码分析

PlacementBrowser的源码在 Editor/PlacementMode下面 一、Placement分类的创建 1. Placement分类被存贮在 FPlacementModeModule 的成员变量 Categories里面。 2. 在 FPlacementModeModule::StartupModule() 创建出所有的Placement分类 3. 每个大类由RegisterPlacementCat…

menu源码分析

1. 菜单根据功能不同被划分了不同的section&#xff0c;不同的section的源码被分布在不同的地方 例如&#xff0c;主菜单的源码在Editor/Mainframe&#xff0c;datavaildation菜单的源码在Plugins\Editor\DataValidation下 2. 以主菜单为例&#xff0c;菜单以如下方法构建 首先…