使用MATLIB生成dll后,在VS2015C++项目中调用时,发现参数类型都是mxArray这种类型的,但是我看网上很多教程都是mwArray的类型,这个如何修改呢?
Matlab生成dll后,参数类型的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 引用 皆我百晓生 小程序回复内容作答:
在使用MATLAB生成的DLL文件中,默认情况下,MATLAB函数的输入和输出参数类型是
mxArray
。而mwArray
是一个MATLAB C++ API提供的用于更方便地与MATLAB函数交互的C++封装类。要在VS2015 C++项目中使用
mwArray
而不是mxArray
类型,需要使用MATLAB提供的C++ API。以下是一些步骤:- 在MATLAB中生成C++代码:对于您希望导出为DLL的MATLAB函数,可以使用MATLAB的代码生成工具生成相应的C++代码。示例如下:
codegen -config:lib myMATLABFunction
这将在当前目录下生成一个名为myMATLABFunction的文件夹,其中包含所需的C++代码文件。
将生成的C++代码添加到VS2015项目中:将所生成的C++代码文件(.cpp和.h文件)添加到您的VS2015 C++项目中。
修改C++代码中的参数类型:在生成的C++代码中,将参数类型从
mxArray
更改为mwArray
。您可以通过查找和替换mxArray
为mwArray
的方式进行修改。构建和链接项目:构建和链接您的VS2015 C++项目,以确保没有任何编译错误。
在C++项目中调用MATLAB函数:在您的C++代码中,现在可以使用
mwArray
作为函数的输入和输出参数类型。使用mwArray
提供的成员函数来进行与MATLAB函数的交互。
需要注意的是,使用
mwArray
需要正确配置MATLAB C++ API,并在项目中包含所需的头文件和库。确保在VS2015中设置正确的包含目录和库目录,以及链接到MATLAB的相关库文件。请注意,
mwArray
是MATLAB C++ API提供的一种方便的方式,用于与MATLAB函数交互。但使用mxArray
也是完全可行的,您可以在VS2015 C++项目中依然使用mxArray
参数类型,使用MATLAB提供的函数来进行与mxArray
的转换和操作。希望这些步骤对您有帮助,并帮助您在VS2015 C++项目中成功使用MATLAB生成的DLL文件。如有更多问题,请随时提问。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 悬赏Python-playwright部署在centos7上
- ¥15 psoc creator软件有没有人能远程安装啊
- ¥15 快速扫描算法求解Eikonal方程咨询
- ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
- ¥30 关于R语言运行分区生存模型中的问题!
- ¥15 校内二手商品转让网站
- ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
- ¥100 求Web版SPC控制图程序包调式
- ¥20 指导如何跑通以下两个Github代码
- ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀